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