module ActionController::ParamsWrapper::ClassMethods
def _set_wrapper_options(options)
def _set_wrapper_options(options) self._wrapper_options = Options.from_hash(options) end
def inherited(klass)
wrapper key and attribute names. Will be called automatically when the
Sets the default wrapper key or model which will be used to determine
def inherited(klass) if klass._wrapper_options.format.any? params = klass._wrapper_options.dup params.klass = klass klass._wrapper_options = params end super end
def wrap_parameters(name_or_model_or_options, options = {})
* :exclude - The list of attribute names which parameters wrapper
will wrap into a nested hash.
* :include - The list of attribute names which parameters wrapper
will be enabled.
* :format - The list of formats in which the parameters wrapper
==== Options
# disables parameters wrapping for this controller altogether.
wrap_parameters false
# wraps only +:username+ and +:title+ attributes from parameters.
wrap_parameters include: [:username, :title]
(+person+, in this case) and the list of attribute names
# wraps parameters by determining the wrapper key from Person class
wrap_parameters Person
# wraps parameters into +params[:person]+ hash
wrap_parameters :person
# enables the parameter wrapper for XML format
wrap_parameters format: :xml
==== Examples
would use to determine the attribute names from.
Sets the name of the wrapper key, or the model which +ParamsWrapper+
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