Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 名称空间、表单和命名路由_Ruby On Rails_Ruby On Rails 4_Rails Routing_Form For_Named Routing - Fatal编程技术网

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|