In my Rails 3.2 project, I have a form to create a new site in new.html.erb
in app/views/sites/
<%= form_for(@site) do |site_form| %>
...
<div class="field">
<%= site_form.label :hash_name %><br />
<%= site_form.text_field :hash_name %>
</div>
...
<div class="actions">
<%= site_form.submit %>
</div>
<% end %>
Then the create
function in sites_controller.rb
def create
@site = Site.new(params[:site])
respond_to do |format|
if @site.save
format.html { redirect_to @site }
else
format.html { render action: "new" }
end
end
end
Then after the user submits, I want to show the hash_name
that the user just submitted, in show.html.erb
You just put in <%= params[:hash_name] %>.
But accessing params[:hash_name]
doesn't work. How can I access it?
You're redirecting to a different action - this will reset all the parameters you passed to the create action.
Either pass hash_name
as a parameter like the other answer suggests, or just fetch it straight from the @site
object.
Just append them to the options:
redirect_to @site, :hash_name => params[:hash_name]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With