LoginSignup
3
6

More than 3 years have passed since last update.

管理者権限付与後、本番環境にrails db:seedをするまで(Active Storageも含む)

Posted at

はじめに

管理者権限の付与方法については以下記事に記載しております。

前提

●管理者権限機能は実装済み

●usersテーブルの情報

XXX_devise_create_users.rb

〜省略〜

      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カラムと定義している。)

db.seeds.rb

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で以下のような画面になっていれば成功です。

image.png

以上です。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6