[英]Using devise for multiple models
問題可能不那么復雜,但我很困惑。 我有兩個用戶,即學生和教師,對於那些我想要單獨的模型,控制器和視圖。 我希望老師使用/t/sign_up
和student /s/sign_up
。 我正在使用設計進行身份驗證,我知道這是可能的,因為這是主動管理工作的方式。
如果您已經使用設計生成了多個模型和視圖,並且只想更改路徑名,則可以執行配置config / routes.rb:
devise_for :students, path: 's'
devise_for :teachers, path: 't'
這將取代你的路線,如下所示:
http://localhost:3000/s/sign_up
http://localhost:3000/t/sign_up
如果要根據不同的模型獲取視圖,可以在config/initializers/devise.rb
文件中配置config.scoped_views = true
並為該模型生成視圖:
rails g devise:views students
如果要自定義每個控制器,可以生成如下控制器文件:
rails generate devise:controllers students
這將根據型號名稱創建控制器,因此您可以在路徑中定義它們:
devise_for :students, path: 's', controllers: { sessions: "students/sessions" }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.