Spec-Zone.ru › Ruby on Rails 4.2

модуль ActionController::ParamsWrapper::ClassMethods

Открытые методы экземпляра

_set_wrapper_options(options) Показать исходный код
# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 165
def _set_wrapper_options(options)
  self._wrapper_options = Options.from_hash(options)
end
inherited(klass) Показать исходный код
# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 220
def inherited(klass)
  if klass._wrapper_options.format.any?
    params = klass._wrapper_options.dup
    params.klass = klass
    klass._wrapper_options = params
  end
  super
end

Устанавливает ключевое слово оболочки или модель по умолчанию, которая будет использоваться для определения ключевых слов и имен атрибутов оболочки. Будет вызвана автоматически при наследовании модуля.

Вызывает метод родительского класса
wrap_parameters(name_or_model_or_options, options = {}) Показать исходный код
# File actionpack/lib/action_controller/metal/params_wrapper.rb, line 196
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

Устанавливает имя ключевого слова оболочки или модель, которая 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 - Список имен атрибутов, которые оболочка параметров будет исключать из вложенного хеша.

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API