Rails' params
hash contains any request parameters (URL parameters or request payload) as well as routing parameters like :controller
, :action
, or :id
.
To access only URL parameters, use request.query_parameters
. Routing params are available through request.path_parameters
.
# On /users?query=Bob&page=2
>> request.params
=> {"page"=>"2", "query"=>"Bob", "controller"=>"users", "action"=>"index"}
>> request.query_parameters
=> {"page"=>"2", "query"=>"Bob"}
>> request.path_parameters
=> {:controller=>"users", :action=>"index"}
Note that path_parameters
is a Hash
with Symbol keys, not a HashWithIndifferentAccess
like the other.
Posted by Arne Hartherz to makandra dev (2019-03-01 13:30)