我有这个兔子模板:
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响应。
也许我只是误解了整个事情 - 有人可以解释或帮助吗?谢谢!
答案 0 :(得分:7)
知道了!
在config/initializers/rabl_config.rb
中创建一个新文件:
Rabl.configure do |config|
config.include_json_root = false
config.include_child_root = false
end