はじめに
複数モデルにDeviseを使用した場合にcontrollerを切り分けたかったいし、Viewもいじりたいと思ったのでその覚書
設定ファイルの編集
/config/initializers/devise.rb
config.scoped_views = true
UserとAdminのMVCをDeviseで作成する
- Userの作成
rails g devise user
- Adminの作成
rails g devise admin_user
Controllerの作成(userはsite
ディレクトリ以下に,adminはmanager
ディレクトリ以下に作成していきます)
- User Controllerの作成
rails g devise:controllers site/users
- Admin Controllerの作成
rails g devise:controller manager/admin_users
- User View の作成
rails g devise:views site/users
- Admin View の作成
rails g devise:views manager/admin_users
ルーティングの設定
config/routes.rb
namespace :manager do
devise_for :admin_users, controllers: {
sessions: 'client/admin_users/sessions',
registrations: 'client/admin_users/registrations',
passwords: 'client/admin_users/passwords'
}
end
scope module: 'site' do
devise_for :users, controllers: {
sessions: 'site/users/sessions',
registrations: 'site/users/registrations',
passwords: 'site/users/passwords'
}
end