# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 176 def _set_wrapper_options(options) self._wrapper_options = Options.from_hash(options) end
# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 231 def inherited(klass) if klass._wrapper_options.format.any? params = klass._wrapper_options.dup params.klass = klass klass._wrapper_options = params end super end
Sets the default wrapper key or model which will be used to determine wrapper key and attribute names. Called automatically when the module is inherited.
# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 207 def wrap_parameters(name_or_model_or_options, options = {}) model = nil case name_or_model_or_options when Hash options = name_or_model_or_options when false options = options.merge(format: []) when Symbol, String options = options.merge(name: name_or_model_or_options) else model = name_or_model_or_options end opts = Options.from_hash _wrapper_options.to_h.slice(:format).merge(options) opts.model = model opts.klass = self self._wrapper_options = opts end
Sets the name of the wrapper key, or the model which ParamsWrapper
would use to determine the attribute names from.
wrap_parameters format: :xml # enables the parameter wrapper for XML format wrap_parameters :person # wraps parameters into +params[:person]+ hash wrap_parameters Person # wraps parameters by determining the wrapper key from Person class (+person+, in this case) and the list of attribute names wrap_parameters include: [:username, :title] # wraps only +:username+ and +:title+ attributes from parameters. wrap_parameters false # disables parameters wrapping for this controller altogether.
:format
- The list of formats in which the parameters wrapper will be enabled.
:include
- The list of attribute names which parameters wrapper will wrap into a nested hash.
:exclude
- The list of attribute names which parameters wrapper will exclude from a nested hash.
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.