方法
執行個體公開方法
_set_wrapper_options(options) 連結
inherited(klass) 連結
設定預設包覆器金鑰或模型,此將會用來決定包覆器金鑰和屬性名稱。在繼承模組時會自動呼叫。
wrap_parameters(name_or_model_or_options, options = {}) 連結
設定包覆器金鑰的名稱,或由 ParamsWrapper
所使用的模型,來從其中決定屬性名稱。
範例
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
- 會啟用參數包覆器的格式清單。 -
:include
- 參數包覆器將會包覆成巢狀雜湊的屬性名稱清單。 -
:exclude
- 參數包覆器將會從巢狀雜湊中排除的屬性名稱清單。
# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 221 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