【发布时间】:2013-06-12 00:33:42
【问题描述】:
我有两个没有关联的模型。
两个模型都使用自己的序列化器。
在模型 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 模型上指定。
【问题讨论】:
-
你能粘贴你当前的序列化器吗?正确的答案取决于您使用的序列化程序类,例如rabl、ActiveModel::Serializer 等...
-
我正在使用活动模型序列化程序
-
你能粘贴一些代码吗?
-
好的,我添加了一个示例。希望这会有所帮助。
标签: ruby-on-rails serialization