簡體   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