модуль ActionController::ParameterEncoding::ClassMethods
Открытые методы экземпляров
# File actionpack/lib/action_controller/metal/parameter_encoding.rb, line 44 def skip_parameter_encoding(action) @_parameter_encodings[action.to_s] = true end
Укажите, что параметры данного действия должны быть закодированы как ASCII-8BIT (оно «пропускает» значение по умолчанию UTF-8 для кодирования).
Например, контроллер мог бы использовать его так:
class RepositoryController < ActionController::Base
skip_parameter_encoding :show
def show
@repo = Repository.find_by_filesystem_path params[:file_path]
# `repo_name` is guaranteed to be UTF-8, but was ASCII-8BIT, so
# tag it as such
@repo_name = params[:repo_name].force_encoding 'UTF-8'
end
def index
@repositories = Repository.all
end
end
Действие show в контроллере выше будет иметь все значения параметров, закодированные как ASCII-8BIT. Это полезно в тех случаях, когда приложение должно обрабатывать данные, но кодирование данных неизвестно, например, данные файловой системы.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.