我有两个控制器分组在admin
命名空间下,如下所示:
namespace :admin do
resources :projects
get "profile", to: "users#edit"
post "profile", to: "users#create"
end
在resource
的form_for
中,它工作正常,如文档中所述:
form_for [:admin, @project]
但是当涉及到命名路线时,就像上面admin/profile
,我不知道在form_for
中放置什么作为论据。如果我只是使用 form_for(@user)
,edit
操作工作正常,表单显示正确,但在提交时出现以下错误:
No route matches [PATCH] "/2"
当我尝试form_for [:admin, @user]
时,表单没有显示抱怨:
undefined method `admin_user_path'
应该如何form_for be constructed in a named route under a namespace?
试试这个:
form_for(@user, url: admin_profile_path) do |f|
运行 rake routes
以列出所有路由。