Module: ActionDispatch::Http::Parameters
- Extended by:
 - ActiveSupport::Concern
 
- Included in:
 - Request
 
- Defined in:
 - actionpack/lib/action_dispatch/http/parameters.rb
 
Defined Under Namespace
Modules: ClassMethods Classes: ParseError
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
- 
  
    
      #parameters  ⇒ Object 
    
    
      (also: #params)
    
  
  
  
  
  
  
  
  
  
    
Returns both GET and POST parameters in a single hash.
 - 
  
    
      #path_parameters  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Returns a hash with the parameters used to form the path of the request.
 - 
  
    
      #path_parameters=(parameters)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:nodoc:.
 
Methods included from ActiveSupport::Concern
append_features, class_methods, extended, included, prepend_features, prepended
Instance Method Details
#parameters ⇒ Object Also known as: params
Returns both GET and POST parameters in a single hash.
      52 53 54 55 56 57 58 59 60 61 62 63 64  | 
    
      # File 'actionpack/lib/action_dispatch/http/parameters.rb', line 52 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_parameters ⇒ Object
Returns a hash with the parameters used to form the path of the request. Returned hash keys are symbols:
{ action: "my_action", controller: "my_controller" }
  
      84 85 86  | 
    
      # File 'actionpack/lib/action_dispatch/http/parameters.rb', line 84 def path_parameters get_header(PARAMETERS_KEY) || set_header(PARAMETERS_KEY, {}) end  | 
  
#path_parameters=(parameters) ⇒ Object
:nodoc:
      67 68 69 70 71 72 73 74 75 76 77 78  | 
    
      # File 'actionpack/lib/action_dispatch/http/parameters.rb', line 67 def path_parameters=(parameters) # :nodoc: delete_header("action_dispatch.request.parameters") parameters = Request::Utils.set_binary_encoding(self, parameters, parameters[:controller], parameters[:action]) # If any of the path parameters has an invalid encoding then raise since it's # likely to trigger errors further on. Request::Utils.check_param_encoding(parameters) set_header PARAMETERS_KEY, parameters rescue Rack::Utils::ParameterTypeError, Rack::Utils::InvalidParameterError => e raise ActionController::BadRequest.new("Invalid path parameters: #{e.}") end  |