Module: ActionDispatch::Http::Parameters

Extended by:
ActiveSupport::Concern
Included in:
Request
Defined in:
lib/action_dispatch/http/parameters.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

PARAMETERS_KEY =
'action_dispatch.request.path_parameters'
DEFAULT_PARSERS =
{
  Mime[:json].symbol => -> (raw_post) {
    data = ActiveSupport::JSON.decode(raw_post)
    data.is_a?(Hash) ? data : {:_json => data}
  }
}

Instance Method Summary collapse

Instance Method Details

#parametersObject Also known as: params

Returns both GET and POST parameters in a single hash.



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/action_dispatch/http/parameters.rb', line 30

def parameters
  params = get_header("action_dispatch.request.parameters")
  return params if params

  params = begin
             request_parameters.merge(query_parameters)
           rescue EOFError
             query_parameters.dup
           end
  params.merge!(path_parameters)
  set_header("action_dispatch.request.parameters", params)
  params
end

#path_parametersObject

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'}


54
55
56
# File 'lib/action_dispatch/http/parameters.rb', line 54

def path_parameters
  get_header(PARAMETERS_KEY) || set_header(PARAMETERS_KEY, {})
end

#path_parameters=(parameters) ⇒ Object

:nodoc:



45
46
47
48
# File 'lib/action_dispatch/http/parameters.rb', line 45

def path_parameters=(parameters) #:nodoc:
  delete_header('action_dispatch.request.parameters')
  set_header PARAMETERS_KEY, parameters
end