Module: ActionDispatch::Http::Parameters
- Extended by:
 - ActiveSupport::Concern
 
- Included in:
 - Request
 
- Defined in:
 - 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:.
 
Instance Method Details
#parameters ⇒ Object Also known as: params
Returns both GET and POST parameters in a single hash.
      50 51 52 53 54 55 56 57 58 59 60 61 62 63  | 
    
      # File 'lib/action_dispatch/http/parameters.rb', line 50 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) params = set_binary_encoding(params, params[:controller], params[:action]) 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 strings:
{'action' => 'my_action', 'controller' => 'my_controller'}
  
      83 84 85  | 
    
      # File 'lib/action_dispatch/http/parameters.rb', line 83 def path_parameters get_header(PARAMETERS_KEY) || set_header(PARAMETERS_KEY, {}) end  | 
  
#path_parameters=(parameters) ⇒ Object
:nodoc:
      66 67 68 69 70 71 72 73 74 75 76 77  | 
    
      # File 'lib/action_dispatch/http/parameters.rb', line 66 def path_parameters=(parameters) #:nodoc: delete_header("action_dispatch.request.parameters") parameters = set_binary_encoding(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  |