将选项传递给ActiveModelSerializers 0.9.0

时间:2014-09-03 16:12:02

标签: ruby-on-rails active-model-serializers

有没有办法可以将选项传递到新版AMS,例如this answer节目?

1 个答案:

答案 0 :(得分:2)

您可以在创建序列化程序的新实例时解析选项Hash,但它将使用的唯一属性是:root,您可以在ActiveModel::Serializer source code上看到:

def initialize(object, options = {})
  @object = object
  @root   = options[:root] || (self.class._root ? self.class.root_name : false)
end

您可以在Serializer类上覆盖此方法,并根据需要使用其余选项:

class PostSerializer < ActiveModel::Serializer
  attributes :title, :body

  def initialize(object, options = {})
    super(object, options)
    # Your custom code goes here
  end
end