4

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

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

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

3 回答 3

8

我知道这是一个旧线程,但我想知道同样的事情,并最终来到这里。然后我在这里找到了一个很好的答案 =>如何使用 Rails Jbuilder 提取所有属性?

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

json.merge! object_name.attributes
于 2014-08-15T07:46:53.083 回答
2

如果您希望您的 json 输出如下:

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

你可以这样做:

json.array! @my_object

但是,如果您想要如下所示的输出:

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

你可以这样做:

json.my_object @my_object
于 2014-02-26T03:59:01.630 回答
0

你可以看看json.except!

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

json.except! @resource

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

于 2017-08-21T07:18:26.910 回答