gpt4 book ai didi

ruby-on-rails - 使用 AMS Serializer 作为另一个 JSON 对象的一部分

转载 作者:行者123 更新时间:2023-12-04 18:03:07 24 4
gpt4 key购买 nike

有没有办法使用现有的 ActiveModel::Serializer 类来创建哈希?

我在我的应用程序的某个部分使用 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)
}

关于ruby-on-rails - 使用 AMS Serializer 作为另一个 JSON 对象的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31705121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com