[英]How to manually create users with Devise
在我的Rails应用程序中,我正在使用devise进行用户注册。 现在,除了用户注册外,管理员还应该在后端创建,编辑和删除用户。 通过该管理后端创建新用户时遇到问题。
当我在浏览器中调用UsersController#new动作时,它会打开由我创建的用户输入表单。 当我单击提交按钮时,将调用Devise :: RegistrationsController#create,但它应调用我的UsersController#create操作。
如何在管理后端中使用用户创建时,如何调用UsersController#create,以及当用户使用注册时,如何调用Devise :: RegistrationsController#create?
1)添加要设计的路径前缀: devise_for :users, :path_prefix => 'd'
2)运行rake routes
:
user_registration POST /d/users(.:format) devise/registrations#create
...
users POST /users(.:format) users#create
因此,第一条路线是Devise::RegistrationsController
,第二条路线是UsersController
。
而且,您只需在admin/new_user.html.erb
: form_for User.new
在Mikhail答案的背面,您还可以告诉devise使用任何其他路径名代替“ users”。 例如:
devise_for :users, path: 'auth'
会导致设计路由,例如/ auth / sign_up,/ auth / sign_in等。并且您的自定义用户路由将是安全的。
(devise_for选项的完整列表可以在此处找到)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.