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