rails ã®ãƒã‚°ã‚¤ãƒ³èªè¨¼ Gem「deviseã€ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãƒ»è¨å®šæ–¹æ³•ã‚’紹介ã—ã¾ã™ã€‚
よã「deviceã€ã¨typoã—ã¦ã‚‹äººã‚’見ã‹ã‘ã¾ã™ã®ã§ã€é–“é•ãˆãªã„よã†æ³¨æ„ã—ã¦ãã ã•ã„。
今回ã¯ã€member/・admin/ã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«åˆ†ã‘ã—ã€ãã‚Œãžã‚Œã®èªè¨¼æ©Ÿèƒ½ã‚’è¨ç½®ã—ã¦ã„ã¾ã™ã€‚
Gemfile ã«ä»¥ä¸‹ã‚’è¿½åŠ ã—ã¾ã™ã€‚
gem 'devise'
bundle install 実行
$ bundle install
$ rails g devise:install
è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’変更
(/config/initializers/devise.rb)
config.scoped_views = true
userã€adminモデルを追åŠ
$ rails g devise user
$ rails g devise admin
ãã‚Œãžã‚Œã€member・adminé…下ã«controller・viewを生æˆã—ã¾ã™ã€‚
$ rails g devise:controllers member/users
$ rails g devise:controllers admin/admins
$ rails g devise:views member/users
$ rails g devise:views admin/admins
/config/routes.rb ã‚’è¨å®š
namespace :admin do
devise_for :admins, controllers: {
sessions: 'admins/sessions',
passwords: 'admins/passwords',
registrations: 'admins/registrations'
}
end
namespace :member do
devise_for :users, controllers: {
sessions: 'users/sessions',
passwords: 'users/passwords',
registrations: 'users/registrations'
}
end
ä¸è¦ãªãƒ“ューファイルãŒç”Ÿæˆã•ã‚Œã¦ã„ã‚‹ã®ã§å‰Šé™¤
$ rails d devise:views
テーブルã®ç”Ÿæˆ
$ rake db:migrate