0

我有两个没有关联的模型。

两种模型都使用自己的序列化程序。

在模型 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 模型上指定。

4

1 回答 1

0

我想出了怎么做。

我需要像这样包装我的方法调用:

def all_model_two
  object.get_all_model_two.active_model_serializer.new(object.get_all_model_two)
end
于 2013-06-12T17:24:46.163 回答