繁体   English   中英

如何使用Devise手动创建用户

[英]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.erbform_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM