将选项传递给 ActiveModel 序列化器

Car*_*ham 5 serialization ruby-on-rails activemodel ruby-on-rails-4

当从控制器使用序列化器时,我可以像这样向它传递额外的选项

render json: user, some_option: 'foobar
Run Code Online (Sandbox Code Playgroud)

然后我可以some_option在序列化器中引用为

serialization_options[:some_option]
Run Code Online (Sandbox Code Playgroud)

但是,如果我直接调用序列化器

MySerializer.new(user, some_option: 'foobar')
Run Code Online (Sandbox Code Playgroud)

我无法获得额外的选项,因为serialization_options它是一个空对象。

ore*_*uwa 1

ActiveModel::Serializer 的 API 在 v0.9 中并没有真正保持一致,但是如果升级到 v0.10,您可以使用该instance_options方法来访问附加参数。不过,我很想了解 v0.9 中如何解析对象