[Rails] Devise 多個 model 處理方式
不同路徑
假設你已經建立好兩個model想指定他的路徑
devise_for :students, path: 's'
devise_for :teachers, path: 't'
會顯示如下
http://localhost:3000/s/sign_up
http://localhost:3000/t/sign_up
不同模板
如果想使用不同的template 請調整下列屬性
#config/initializers/devise.rb
config.scoped_views = true
並產生對應的View
$ rails g devise:views students
自訂Controller
如果想自訂各自的controller 請使用以下指令
$ rails generate devise:controllers students
也可以自訂controller的位置
devise_for :students, path: 's', controllers: { sessions: "students/sessions" }
參考
- https://stackoverflow.com/questions/37145991/using-devise-for-multiple-models
留言