【发布时间】:2017-02-06 18:33:35
【问题描述】:
在某些情况下,嵌套关联嵌入在 JSON 中,而在其他情况下则不是。到目前为止一切顺利,这符合我想要的方式。但我希望在没有嵌入它们的情况下仍然发出嵌套关联的 ID。
例如:
class FooSerializer < ActiveModel::Serializer
attributes :id, :x, :y
belongs_to :bar
end
class BarSerializer < ActiveModel::Serializer
attributes :id, :z
end
当我序列化一个没有include: [:bar] 的Foo 对象时,我希望结果如下所示:
{
"id": 123
"x": 1,
"y": 2,
"bar": 456
}
如果bar 是一个多态关联,我想要这样的东西:
{
"id": 123
"x": 1,
"y": 2,
"bar": {"id": 456, "schema": "Bar"}
}
实际上,我希望 ID 是字符串 ("id": "123"),因为它们应该是 API 使用者的黑盒,并且绝对不使用 JavaScript 的 Number 类型(这是 double 精度浮点!)。
我该怎么做?我没有找到任何相关信息。
【问题讨论】:
标签: ruby-on-rails json active-model-serializers