Html 表单提交后的Rails再次重定向到空表单页面

Html 表单提交后的Rails再次重定向到空表单页面,html,ruby-on-rails,forms,post,http-redirect,Html,Ruby On Rails,Forms,Post,Http Redirect,我正在用一个简单的联系方式建立一个页面。在用户提交表单后,我希望它重定向回完全相同的页面,然后闪烁一条成功消息。但我不使用show的原因是我想要一个全新的联系方式(不是他们已经提交的),以防他们想要提交另一个请求。但是,重定向到似乎不起作用 谢谢你的帮助 我的控制器(注意,我也尝试了渲染而不是重定向到) 我的看法 <body> <h1> opening text </h1> <!--prints success message, making it a

我正在用一个简单的联系方式建立一个页面。在用户提交表单后,我希望它重定向回完全相同的页面,然后闪烁一条成功消息。但我不使用show的原因是我想要一个全新的联系方式(不是他们已经提交的),以防他们想要提交另一个请求。但是,重定向到似乎不起作用

谢谢你的帮助

我的控制器(注意,我也尝试了渲染而不是重定向到)

我的看法

<body>
<h1> opening text </h1>

<!--prints success message, making it a hash just in case other messages need to be added in the future -->
<% flash.each do |key, value| %>
    <div class="alert alert-<%= key %>"><%= value %></div>
<% end %>


<%= form_for @contact do |f| %>
<!--form code below -->

开场白
将其更改为

if @contact.save
  flash[:success] = "Thanks! I'll be in touch soon!"
  redirect_to :action => 'new'
else
  render :action => 'new'
end
redirect_to
需要url/相对路径作为字符串,或指向url的哈希

例如:


但是,当您将
重定向到'new'
时,它正在寻找非常有效的
'/new'

,我能问一下为什么有效吗?它好像在做和“新”完全一样的事情不是吗?另外,我不需要第二个action=>new在已经开始工作的渲染中。@james更新了我的答案
if @contact.save
  flash[:success] = "Thanks! I'll be in touch soon!"
  redirect_to :action => 'new'
else
  render :action => 'new'
end
"/user/10"
"http://localhost:3000/users/new" 
or  {:controller => 'users', :action => 'new'}