Jbuilder включает все атрибуты и ассоциации - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь настроить объект JSON, из которого я могу сделать клон, поэтому мне нужно, чтобы Jbuilder перечислял все атрибуты объекта и ассоциации. Я сделал много выборок структур JSON, используя Jbuilder, но, похоже, не могу найти простой способ просто перечислить все одним махом, не объявив все это явно.

Это прекрасно работает для отдельных 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 голосов
/ 21 апреля 2019

Ну, вы можете использовать ActiveRecord # атрибуты метод, чтобы выглядеть аккуратно как

company = @company

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

Или как указано в этом ответе:

json.merge! company.attributes
...