Rails:form_for命名空间资源

我想为用户设置CRUD,仅适用于我的Web应用程序的管理员。 所以在routes.rb中:

namespace :admin do resources :user end 

这意味着:

 admin_user_index GET /admin/user(.:format) admin/user#index POST /admin/user(.:format) admin/user#create new_admin_user GET /admin/user/new(.:format) admin/user#new edit_admin_user GET /admin/user/:id/edit(.:format) admin/user#edit admin_user GET /admin/user/:id(.:format) admin/user#show PUT /admin/user/:id(.:format) admin/user#update DELETE /admin/user/:id(.:format) admin/user#destroy 

显示,索引工作正常,但编辑和新的不。 我在_form第一行继续收到此错误:
###:0x007fb6645c6378>的未定义方法`user_path’

这是这样的:

如何将form_for与命名空间资源一起使用?

您可以将名称空间的名称添加为符号:

  <%= form_for [:admin, @user] do |f| %> 

使用form_for时,它假定相应的路径是[model_name] _path。 你必须明确告诉它的url

 form_for @user, url: admin_user_path