У меня есть этот шаблон RABL:RABL: объекты JSON без корня ключевых
object @photo
attributes :id
child :comments do
attributes :id, :body
end
Который дает мне этот JSON ответ:
{
photo: {
id: 1,
comments: [
{
comment: {
id: 1,
body: 'some comment'
}
},
{
comment: {
id: 2,
body: 'another comment'
}
}
]
}
}
Но я хочу, чтобы выглядеть следующим образом:
{
id: 1,
comments: [
{
id: 1,
body: 'some comment'
},
{
id: 2,
body: 'another comment'
}
]
}
Почему rabl обертывает каждый элемент массива дополнительным объектом с именем comment
. Таким образом, когда я получить доступ к коллекции в JavaScript Я должен написать:
var comment = image.comments[0].comment
вместо:
var comment = image.comments[0]
Я знаю, что если я включаю :comments
в списке атрибутов для @photo
объекта он работает путь, который я хочу, но когда мне нужен еще один уровень вложенных ассоциаций для каждого объекта comment
, нет способа справиться с этим, кроме использования child
, но это дает мне ответ JSON, который я не хочу.
Возможно, я просто недопонимаю все это - может кто-нибудь объяснить или помочь? Благодаря!
я имел такую же проблему и обнаружили, что мне нужно, чтобы добавить «config.include_child_root = ложь» в дополнение к include_json_root = ложь –