使用 AMS Serializer 作为另一个 JSON 对象的一部分
Use AMS Serializer as part of another JSON object
是否可以使用现有的 ActiveModel::Serializer class 创建哈希?
我在我的应用程序的某个部分使用 AMS 来处理渲染整个 JSON 对象,但在另一部分我希望能够手动构建 json 对象。即
hash = {
bla_bla: {
# these attributes should be whatever is defined in the Serializer
}
}
这可能吗?
到目前为止我发现的唯一方法是这样做:
def serialize_data(resources)
serializer_klass = ActiveModel::Serializer.serializer_for(resources)
serializer = serializer_klass.new(resources)
adapter = ActiveModel::Serializer::Adapter::FlattenJson.new(serializer)
adapter.serializable_hash
end
它以散列形式为您提供资源属性。
在我的示例中,我会这样使用
hash = {
bla: serialize_data(Bla.first)
}
是否可以使用现有的 ActiveModel::Serializer class 创建哈希?
我在我的应用程序的某个部分使用 AMS 来处理渲染整个 JSON 对象,但在另一部分我希望能够手动构建 json 对象。即
hash = {
bla_bla: {
# these attributes should be whatever is defined in the Serializer
}
}
这可能吗?
到目前为止我发现的唯一方法是这样做:
def serialize_data(resources)
serializer_klass = ActiveModel::Serializer.serializer_for(resources)
serializer = serializer_klass.new(resources)
adapter = ActiveModel::Serializer::Adapter::FlattenJson.new(serializer)
adapter.serializable_hash
end
它以散列形式为您提供资源属性。
在我的示例中,我会这样使用
hash = {
bla: serialize_data(Bla.first)
}