관리자 권한 부여 후 프로덕션에 rails db:seed를 할 때까지(Active Storage도 포함)

소개



관리자 권한 부여 방법에 대해서는 다음 기사에 기재되어 있습니다.

전제



● 관리자 권한 기능이 구현됨

● 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-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: "[email protected]",
  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에서 아래와 같은 화면이 되어 있으면 성공입니다.



이상입니다.

좋은 웹페이지 즐겨찾기