如何序列化非关联模型?

时间:2013-06-12 00:33:43

标签: ruby-on-rails serialization

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

两种型号都使用自己的序列化器。

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

1 个答案:

答案 0 :(得分:0)

我想出了怎么做。

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

def all_model_two
  object.get_all_model_two.active_model_serializer.new(object.get_all_model_two)
end