在我的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]
不起作用。我该如何访问它?
答案 0 :(得分:4)
只需将它们附加到选项中:
redirect_to @site,:hash_name =&gt; PARAMS [:hash_name]
答案 1 :(得分:3)
您正在重定向到其他操作 - 这会重置您传递给创建操作的所有参数。
将hash_name
作为参数传递给其他答案,或者直接从@site
对象中获取。