Jbuilder包含所有属性和关联

时间:2019-04-21 19:27:25

标签: ruby-on-rails json jbuilder

我试图建立一个可以克隆的JSON对象,所以我需要Jbuilder列出所有对象属性和关联。我已经使用Jbuilder进行了大量的JSON选择,但是似乎找不到一种简单的方法可以一举列出所有内容,而无需明确声明所有内容。

这对于单独的company属性和所有相关的location属性都适用...

//show.json.jbuilder

company = @company

json.company do
  json.(company, :id)
  json.locations_attributes company.locations
end

但是我想包含所有company属性,并且似乎没有列出所有json.(company, :id, :name, :line_of_business)等就无法做到这一点。

1 个答案:

答案 0 :(得分:0)

好吧,您可以使用ActiveRecord #attributes方法将外观看起来整洁

company = @company

json.company do
  json.(company, *company.attributes.keys)
  json.locations_attributes company.locations
end

或者如this答案中所述:

json.merge! company.attributes