扶手:访问参数鉴于表单提交后(Rails: Access parameters in view af

2019-09-23 22:37发布

在我的Rails 3.2的项目,我有一个表格,以创建一个新的站点new.html.erbapp/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 %>

然后create函数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

用户提交此之后,我想说明的hash_name用户刚刚提交,在show.html.erb

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

但访问params[:hash_name]不起作用。 我怎样才能访问它?

Answer 1:

你重定向到一个不同的动作 - 这将重置您传递给创建行动的所有参数。

无论是通过hash_name作为参数像其他答案建议,或从刚刚获取它笔直@site对象。



Answer 2:

只是他们追加到选项:

redirect_to的@site,:hash_name => PARAMS [:hash_name]



文章来源: Rails: Access parameters in view after form submission