我有一个典型的维护,就像脚手架那样,但编辑和更新路线不是用resources
生成的:
get "users/edit", as: "edit_user"
patch "users/update"
当update
操作失败时,我render :edit
显示错误,然后,如果我重新加载页面,浏览器会发送带有更新URL(POST)的GET,这会产生路由错误...试着解释一下:
1)GET:http://localhost:3001/ca/users/edit
2)用户编辑并导致验证错误并提交
3)POST:http://localhost:3001/ca/users/update =>错误=>渲染:编辑
4)浏览器显示编辑表单,在URL方向上有" ... users / update" (不是" ...用户/编辑")
5)用户重新加载页面(无意中F5)=>路由错误
这会导致路由错误,因为浏览器会向GET发送一个与POST对应的网址(" .. users / update")
我知道用resources :users
这个问题不存在,不会崩溃,浏览器发送一个POST(在F5之后),我的问题是用我自己的路由浏览器发送一个GET
当用户在render :edit
之后重新加载页面时,Rails如何发送PATCH或POST?