【发布时间】:2018-04-12 00:06:11
【问题描述】:
我的理解是,你只能在像这样使用渲染时调用 AMS:
render json: foos, each_serializer: FoosSerializer
但是,如果我想在序列化资源的结果被序列化后对它做些什么呢?那可能吗?我的问题是我的序列化程序调用资源上的一个方法来转换资源的一个属性,我需要在将其传递到前端之前按该属性排序。
当我执行以下操作时:
ActiveModel::SerializableResource.new(
foos,
each_serializer: FoosSerializer
).to_json
我得到了 json,但我可以将它转换回我可以调用 order_by 的东西吗?
编辑:
我有这个:
JSON.parse(ActiveModel::SerializableResource.new(
foos,
each_serializer: FoosSerializer
).to_json).sort {|x,y| x[:name] <=> y[:name]}
但是调用to_json 和parse 来调用顺序似乎很愚蠢,因为我仍然需要在病房后对解析的结果做一些事情。
【问题讨论】:
-
foo 是一个集合吗?
-
@AnkitG 是的,这是一个集合
标签: ruby-on-rails serialization active-model-serializers