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