Rails: access options displayed after form submission

In my Rails 3.2 project, I have a form for creating 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 sent in show.html.erb

 You just put in <%= params[:hash_name] %>. 

But access to params[:hash_name] does not work. How can I access it?

+4
source share
2 answers

You are redirected to another action - this will reset all the parameters that you passed to the create action.

Either pass hash_name as a parameter, as another answer suggests, or simply extract it directly from the @site object.

+3
source

Just add them to the parameters:

redirect_to @site ,: hash_name => params [: hash_name]

+4
source

Source: https://habr.com/ru/post/1439049/


All Articles