Closed marciotoze closed 9 years ago
ops, copypasta
Acabei de testar, e aparentemente não funciona assim :confused:
Eu estou fazendo a seguinte call no ActiveRecord
:
Recommendation.where(trip: trip)
E por algum motivo ele está retornando o seguinte JSON
(sem o root
)
{
"trips": [ {
"description": "Aracajul é top!",
"id": 266,
"place_id": 227,
"rating": "amazing",
"recommender_id": 13,
"trip_id": 737,
"wishlisted": true
}
]
}
Alguma idea, @marciotoze ?
lendo a API do Rails (http://apidock.com/rails/ActiveRecord/Serialization/to_json)
konata = User.find(1)
ActiveRecord::Base.include_root_in_json = true
konata.to_json
# => { "user": {"id": 1, "name": "Konata Izumi", "age": 16, "created_at": "2006/08/01", "awesome": true} }
ActiveRecord::Base.include_root_in_json = false
konata.to_json
# => {"id": 1, "name": "Konata Izumi", "age": 16, "created_at": "2006/08/01", "awesome": true}
o default do rails é ActiveRecord::Base.include_root_in_json = false
, por isso voce está tendo que colocar.
deve funcionar como eu falei se você setar ActiveRecord::Base.include_root_in_json = true
no dir initializers/
veja se voce na maior parte das vezes precisará de root, balanceia qual será o mais comum e escolhe se deixa ativado ou não.
Testei colocando a linha dentro do application.rb
, mas não deu certo, ainda é retornado trips
como root. Alguma outra sugestão ?
root: 'recommendations'
o padrão do root já não é esse? acho que não precisa dessa linha...na teoria quando vc retorna um json de um unico objeto o root vira o nome do objeto.
quando retorna uma collection por json ela retorna com recommendatios como root, não é assim? não tenho ctz, mas tem lógica