如何输出所有属性jbuilder,而不必全部指定它们?

时间:2013-08-08 17:22:34

标签: ruby-on-rails

我正在使用json在postgresql中存储我的数据的文档版本。我想输出一个完整的对象树,包括孩子,孩子的孩子等以及所有属性。如果以后将任何属性添加到任何对象,我希望它们包含在后续的json中。

有没有办法输出整个内容而不必至少每个属性?即不是这样的:

json.(object_name, :id, :attr1, :attr2.... etc)

3 个答案:

答案 0 :(得分:7)

我知道这是一个老线程,但我想知道同样的事情,并最终在这里。然后我在这里找到了一个很好的答案=> How to extract all attributes with Rails Jbuilder?

@uiureo建议使用json.merge!,这对我来说非常有效:)

json.merge! object_name.attributes

答案 1 :(得分:1)

如果你想让你的json像这样输出:

{"id":1,"attribute1":1,"attribute2":2}

你可以这样做:

json.array! @my_object

但是,如果您希望输出看起来像这样:

{"my_object":{"id":1,"attribute1":1,"attribute2":2}}

你可以这样做:

json.my_object @my_object

答案 2 :(得分:0)

您可以查看json.except!

json.except! @resource, :id, :updated_at

json.except! @resource

https://github.com/chenqingspring/jbuilder-except