que tengo esta plantilla Rabl:RABL: objetos JSON sin raíz clave
object @photo
attributes :id
child :comments do
attributes :id, :body
end
Lo que me da esta respuesta JSON:
{
photo: {
id: 1,
comments: [
{
comment: {
id: 1,
body: 'some comment'
}
},
{
comment: {
id: 2,
body: 'another comment'
}
}
]
}
}
Pero yo quiero que se vea como esto:
{
id: 1,
comments: [
{
id: 1,
body: 'some comment'
},
{
id: 2,
body: 'another comment'
}
]
}
¿Por qué Rabl envuelve cada elemento en la matriz con un objeto adicional llamado comment
. De esta manera, cuando accedo a la colección en javascript que tengo que escribir:
var comment = image.comments[0].comment
en lugar de:
var comment = image.comments[0]
Sé que si incluyo :comments
en la lista de atributos para el objeto @photo
funciona el como yo quiero, pero cuando quiero otro nivel de asociaciones anidadas para cada objeto comment
, no hay una manera de manejar eso además de usar child
, pero eso me da la respuesta JSON que no quiero.
Tal vez estoy simplemente malinterpretando todo - ¿alguien puede explicar o ayudar? ¡Gracias!
que tenía este mismo problema y encontré que tenía que añadir "config.include_child_root = false" además de include_json_root = false –