Rails:在表单提交后访问视图中的参数

时间:2012-10-11 01:29:39

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

在我的Rails 3.2项目中,我有一个表单可以在new.html.erb中的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 %>

然后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]不起作用。我该如何访问它?

2 个答案:

答案 0 :(得分:4)

只需将它们附加到选项中:

redirect_to @site,:hash_name =&gt; PARAMS [:hash_name]

答案 1 :(得分:3)

您正在重定向到其他操作 - 这会重置您传递给创建操作的所有参数。

hash_name作为参数传递给其他答案,或者直接从@site对象中获取。