#はじめに
管理者権限の付与方法については以下記事に記載しております。
#前提
●管理者権限機能は実装済み
●usersテーブルの情報
〜省略〜
t.string :email, null: false, default: ""
t.string :encrypted_password, null: false, default: ""
t.string :nickname, null: false
t.text :occupation, null: false
t.text :position, null: false
t.date :birth_day, null: false
t.integer :sex_id, null: false
t.boolean :admin, default: false
〜省略〜
#バージョン
rubyのバージョン ruby-2.6.5
Railsのバージョン Rails:6.0.0
#gemについて
・gem 'devise'
・gem 'rails_admin', '~> 2.0.0.beta'
・gem 'cancancan'
#記事の内容
管理者についての情報をseeds.rbに記述し、本番環境にてseeds.rbの内容を
反映するまでの手順を述べています。
#実装の全体像
●ローカル環境
①seeds.rbの記述
②rails db:seedの実行
●gitにてマージ
●本番環境
④デプロイ
⑤heroku run rails db:seedの実行
#実装の手順
##①seeds.rbの記述
Active Storageでimageカラムを取り込んでいるので、usersテーブルにimageカラムをattachする。
※seeds.rb内の一番下の記述
(なお画像についてはimageカラムと定義している。)
user = User.create!(email: "admin@example.jp",
password: "abcd1234",
password_confirmation: "abcd1234",
nickname: "管理者",
occupation: "管理者",
position: "管理者",
birth_day: "2000-10-10",
sex_id: "2",
admin: true)
user.image.attach(io: File.open(Rails.root.join("app/assets/images/homekatajiten.png")), filename: "homekatajiten.png")
##②rails db:seedの実行
rails db:seedを実行して初期データを投入する。
$ rails db:seed
##③デプロイ
$ git push heroku master
##④heroku run rails db:seedの実行
本番環境にもlocal同様の初期データを投入する。
$ heroku run rails db:seed
#確認
最後は反映されているか確認を行う。
$ heroku open
実行できていれば管理者アカウントでログイン後、(本番環境URL)/adminで以下のような画面になっていれば成功です。
以上です。