#はじめに
現在作成中のアプリでユーザーをuser
とadmin
に2つに分けたいと思い、実装してみた。
##前提
userのコントローラーやビューやモデルは作成済み。
管理者設定のgemは使わず、deviseのみで完結させる。
##adminコントローラー生成まで
####deviseのconfigをいじる。
config/initializers/devise.rb/247行目
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# "users/sessions/new". It's turned off by default because it's slower if you
# are using only default views.
config.scoped_views = true ←コメントアウトを外して、trueにする
config/initializers/devise.rb/255行目
# Set this configuration to false if you want /users/sign_out to sign out
# only the current scope. By default, Devise signs out all scopes.
config.sign_out_all_scopes = false ←コメントアウトを外してfalseにする
ターミナルで
rails g devise admin
##adminコントローラーを少し編集
app/models/admin.rb
class Admin < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, #:registerable, ←コメントアウトする
:recoverable, :rememberable, :validatable
end