Ruby on rails 名称空间、表单和命名路由
我在Ruby on rails 名称空间、表单和命名路由,ruby-on-rails,ruby-on-rails-4,rails-routing,form-for,named-routing,Ruby On Rails,Ruby On Rails 4,Rails Routing,Form For,Named Routing,我在admin命名空间下有两个控制器,如下所示: namespace :admin do resources :projects get "profile", to: "users#edit" post "profile", to: "users#create" end 在资源的表单\u中,它可以正常工作: 但是,当涉及到命名路由时,如上面的admin/profile,我不知道在表单\u中为添加什么参数。如果我只是为(@user)使用form\u,则编辑操作工作正常,表单显示正确,
admin
命名空间下有两个控制器,如下所示:
namespace :admin do
resources :projects
get "profile", to: "users#edit"
post "profile", to: "users#create"
end
在资源的表单\u中,它可以正常工作:
但是,当涉及到命名路由时,如上面的admin/profile
,我不知道在表单\u中为
添加什么参数。如果我只是为(@user)
使用form\u,则编辑
操作工作正常,表单显示正确,但提交时出现以下错误:
No route matches [PATCH] "/2"
当我尝试[:admin,@user]
的表单时,表单不会显示,并抱怨:
undefined method `admin_user_path'
应如何在命名空间下的命名路由中构造的表单\u?
尝试以下方法:
form_for(@user, url: admin_profile_path) do |f|
运行rake routes
列出所有路由。太棒了!(我还不得不将更新操作的错误路由更改为:补丁“profil”,改为:“users#update”
)
form_for(@user, url: admin_profile_path) do |f|