我目前正在通過各種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