ruby-on-rails – 将选项传递给ActiveModelSerializers 0.9.0

有没有办法可以将选项传递到新版本的AMS,如
this answer节目? 最佳答案 您可以在创建序列化程序的新实例时解析选项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
点赞