我目前正在通过各种Rails教程工作,但都似乎建议失败的表单提交应该使用呈现器来输出带有错误的表单。例如,创建方法如下:在Ruby on Rails上保留失败表单提交的URL
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上的某些人指示我采取客户端验证的方式,但似乎它可以避免这个问题。
我真的不明白为什么这种行为是一个问题。 – Wukerplank
我确定这只是我,但它似乎并不正确。不太可能和假想的情况,但如果有人向我发送一封电子邮件,说“我收到了我不应该在此页上的错误:”,然后复制并粘贴了该URL,那该怎么办? – RobL