我试图允许管理员用户编辑Devise中的其他用户,但是当我尝试访问其他用户的编辑页面(例如/ users / 1 / edit)时,我会收到以下消息:
Unknown action Could not find devise mapping for path "/users/1/edit"
似乎工作的唯一路径是/ users / edit,显示当前用户的编辑页面.
在我的路线文件我有:
devise_for :users,:controllers => { :registrations => 'users' } resources :users
有任何想法吗?谢谢!
解决方法
我也不得不这样做,目前还没有建立在设计中.由于最高调的答案有一个死链接,我以为我会在这里发布我的解决方案.
您需要创建一个UsersController并自行构建您的表单和控制器,然后您还需要隔离设计的UsersController.要做到这一点,在你的routes.rb文件中,修改你的devise_for:用户调用
devise_for :users,:path_prefix => 'd' # routes for devise modules on User resources :users # custom admin-type CRUD for users
这将会将所有默认的设计路由更改到/ d / users / …,并让您拥有/ users / …路径,让您以管理员身份管理用户.
Devise还解决了这个in their wiki.