6

我有这个 rabl 模板:

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 响应。

也许我只是误解了整个事情-有人可以解释或帮助吗?谢谢!

4

1 回答 1

7

知道了!

在中创建一个新文件config/initializers/rabl_config.rb

Rabl.configure do |config|
  config.include_json_root = false
  config.include_child_root = false

end
于 2012-03-02T21:47:39.240 回答