module ActionDispatch::Http::Parameters

Constants

PARAMETERS_KEY

Public Instance Methods

parameters() click to toggle source

Returns both GET and POST parameters in a single hash.

# File lib/action_dispatch/http/parameters.rb, line 11
def parameters
  @env["action_dispatch.request.parameters"] ||= begin
    params = begin
      request_parameters.merge(query_parameters)
    rescue EOFError
      query_parameters.dup
    end
    params.merge!(path_parameters)
  end
end
Also aliased as: params
params()
Alias for: parameters
path_parameters() click to toggle source

Returns a hash with the parameters used to form the path of the request. Returned hash keys are strings:

{'action' => 'my_action', 'controller' => 'my_controller'}
# File lib/action_dispatch/http/parameters.rb, line 39
def path_parameters
  @env[PARAMETERS_KEY] ||= {}
end
symbolized_path_parameters() click to toggle source
# File lib/action_dispatch/http/parameters.rb, line 28
def symbolized_path_parameters
  ActiveSupport::Deprecation.warn(
    '`symbolized_path_parameters` is deprecated. Please use `path_parameters`.'
  )
  path_parameters
end

Private Instance Methods

normalize_encode_params(params) click to toggle source

Convert nested Hash to HashWithIndifferentAccess.

# File lib/action_dispatch/http/parameters.rb, line 47
def normalize_encode_params(params)
  case params
  when Hash
    if params.has_key?(:tempfile)
      UploadedFile.new(params)
    else
      params.each_with_object({}) do |(key, val), new_hash|
        new_hash[key] = if val.is_a?(Array)
          val.map! { |el| normalize_encode_params(el) }
        else
          normalize_encode_params(val)
        end
      end.with_indifferent_access
    end
  else
    params
  end
end