I have a Rails 3 application and I want to print in the view the request parameters. How do I do it?
Edit:
The purpose is to see what is being sent in a Form
Source: http://guides.rubyonrails.org/getting_started.html#creating-articles
When a form is submitted, the fields of the form are sent to Rails as parameters. These parameters can then be referenced inside the controller actions, typically to perform a particular task. To see what these parameters look like, change the create action to this:
def create
render plain: params[:article].inspect
end
The response when POST'ing a form to the targeted #create route would be a plain-text hash output of params[:article]
Learnt this from the Ruby Hero James Edward Gray II on this episode of Ruby Rogues podcast which I highly recommend. raise
is a swiss army knife for inspecting anything in your Rails code which prints it nicely on your browser.
raise params.inspect
You can use for models, controllers, etc.
puts YAML::dump(params)
Source: Ruby / Rails alternative to PHP print_r() and var_dump()
For views:
DebugHelper’s debug(object)
In your case:
DebugHelper’s debug(params)
Parameters are stored in the params
hash. For example, if there was a title
parameter, you could display it in your view using <%= params[:title] %>
.
Something like
<%= params.inspect %>
works, but what I would like to add is the following gem and Chrome plugin which was literally an eye-opener.
I am putting it here because I think it will help people check out params hashes, see SQL queries or view Errors.
I would use debug(params)
. That will give you a nicely formatted view of them.