instance method
param_encoding
Ruby on Rails 8.1.2
Since v6.1.7.10Signature
param_encoding(action, param, encoding)
Specify the encoding for a parameter on an action. If not specified the default is UTF-8.
You can specify a binary (ASCII_8BIT) parameter with:
class RepositoryController < ActionController::Base # This specifies that file_path is not UTF-8 and is instead ASCII_8BIT param_encoding :show, :file_path, Encoding::ASCII_8BIT def show @repo = Repository.find_by_filesystem_path params[:file_path] # params[:repo_name] remains UTF-8 encoded @repo_name = params[:repo_name] end def index @repositories = Repository.all end end
The file_path parameter on the show action would be encoded as ASCII-8BIT, but all other arguments will remain UTF-8 encoded. This is useful in the case where an application must handle data but encoding of the data is unknown, like file system data.
Parameters
-
actionreq -
paramreq -
encodingreq
Source
# File actionpack/lib/action_controller/metal/parameter_encoding.rb, line 79
def param_encoding(action, param, encoding)
@_parameter_encodings[action.to_s][param.to_s] = encoding
end
Defined in actionpack/lib/action_controller/metal/parameter_encoding.rb line 79
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionController::ParameterEncoding::ClassMethods