【发布时间】:2011-07-16 09:40:30
【问题描述】:
我目前正在学习各种 Rails 教程,但似乎都建议失败的表单提交应该使用渲染来输出带有错误的表单。例如,create 方法如下所示:
def create
@user = User.new(params[:user])
if @user.save
flash[:success] = "Welcome to the Sample App"
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
这达到了预期的效果,但意味着如果我在http://localhost:3000/users/new 有一个新的用户表单并且发生错误,我会在http://localhost:3000/users 得到相同的表单并出现错误
有没有办法确保我转到http://localhost:3000/users/new?
我考虑过使用重定向而不是渲染“新”,但这会导致显示表单错误时出现问题。 Rails IRC 上的某个人向我介绍了一种进行客户端验证的方法,但这似乎避开了这个问题。
【问题讨论】:
-
我真的不明白为什么这种行为是个问题。
-
我确定这只是我,但它似乎不正确。不太可能和假设的情况,但是如果有人给我发一封电子邮件说“我收到了不应该出现在这个页面上的错误:”然后复制并粘贴了 URL,该怎么办?
标签: ruby-on-rails