在包含关联时,如何在数组中包含JSON根?

时间:2012-06-15 14:55:39

标签: ruby-on-rails ruby-on-rails-3 json

这类似于include root in json for array?,但略有不同。

我有一个对象Alpha与Beta的has_many关联。我将Alpha渲染为JSON并希望包含Beta。

@alpha.as_json(:include => :beta)

这很好用,因为我将include_root_in_json设置为true,所以输出alpha的根。

{"alpha":
  {
    "created_at":"2012-06-07T23:37:30Z",
    "id":1,
    "beta":[
      {
        "created_at":"2012-06-11T23:46:58Z",
        "id":1,
      }
    ]
  }
}

我想在beta数组中包含root,但我似乎无法找到一种方法。

2 个答案:

答案 0 :(得分:0)

尝试将root选项设置为true以获取关联:

@alpha.as_json(:include => { :beta => { :root => true } })

答案 1 :(得分:0)

我的解决方案是使用RABL(https://github.com/nesquena/rabl)。它为JSON提供了更好的格式控制。