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