活动模型序列化器:如何将选项传递给集合?

Ran*_*llB 0 ruby-on-rails active-model-serializers

如果我有一个集合,比如 Widgets,并且我正在使用 Active Model Serializers 来序列化 Widgets 集合,那么如何将 instance_options 传递给集合?

render json: @widgets, count: 40
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的方法,但似乎无法进入count: 40我的instance_options. 我错过了什么吗?

小智 6

您可以@instance_options[:count]在 WidgetsSerializer 的方法中调用。

在控制器中:

render json: @widgets, count: 40
Run Code Online (Sandbox Code Playgroud)

例如,

class WidgetsSerializer < ActiveModel::Serializer
  attributes :count

  def count
    @instance_options[:count] #=> 40
  end
end
Run Code Online (Sandbox Code Playgroud)