我有两个没有关联的模型。
两种型号都使用自己的序列化器。
在模型1中,我有一个调用模型2的方法。
我想在模型1中序列化该调用,因此它返回模型2中的集合,但是使用模型2的自定义序列化程序对集合进行序列化。
现在它最终使用Rails默认序列化程序而不是我定义的自定义序列化程序。
有没有办法强制它使用我的自定义序列化程序?
=============
示例代码:
class ModelOne < ActiveModel::Serializer
attributes :id, :name, :all_model_two
def all_model_two
object.get_all_model_two
end
end
class ModelTwo < ActiveModel::Serializer
attributes :id, :name
end
方法'get_all_model_two'在ModelOne模型上指定。
答案 0 :(得分:0)
我想出了怎么做。
我需要像这样包装我的方法调用:
def all_model_two
object.get_all_model_two.active_model_serializer.new(object.get_all_model_two)
end