1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Rails】dotenv-railsの導入

Last updated at Posted at 2022-07-07

はじめに

  • 学習の覚え書として書いています
  • 自己解釈ですので参考程度にご覧ください

dotenv-rails とは

  • 環境変数を管理できるgem
  • 環境変数 → 公開したくない情報(値)
    (メールアドレスやパスワードなど)

つまりGitなどにアップする際、公開したくない情報(値)をdotenv-rails(gem)で管理することができます。

dotenv-rails 使用手順

①dotenv-railsの導入
②環境変数を記述するファイルを作成(.env)
③環境変数の記述
④ソースコード内で環境変数を使用
⑤GitHubの公開設定(.gitignoreに.envを追加)

①dotenv-railsの導入

  • gemfileに追記(一番下の行に gem 'dotenv-rails' を追記)
  • ターミナルで $ bundle install を実行

②環境変数を記述するファイル .envファイルを作成

  • ターミナルで $ touch .env を実行
    (.envは既定のファイル名なので誤字が無いように作成)

③.envファイルに環境変数の記述

  • 書き方
    任意の変数名=変数に入れたい値(公開したくない情報)

  • SECRET_KEY=hogehoge
    (公に公開したくない情報「hogehoge」を 変数「SECRET_KEY」に代入)

 (③の補足 代入できているか確認する方法)

 rails c で確認

 ① $ rails c 入力 (rails c起動)
 ② 2.6.3 :001 >  ENV['SECRET_KEY'] 入力 (設定した変数の中身確認)
       ↓
  2.6.3 :001 > ENV['SECRET_KEY']
  => "hogehoge"(値が表示される)

 ※表示が「nil」や「0」の場合、下記の手順を実行してから上記手順を再実行します。
  ① 2.6.3 :002 > exit (rails c 一旦終了)
  ② $ spring stop
 再びrails cを起動 → コマンド入力し値が表示されればOK

④ソースコード内で環境変数を使用

使用したい箇所で下記の書き方で記述

  • 書き方
    "#{ENV[' 任意で設定した変数名 ']}" (左右の " " も含め、全て記述)

  • 例(変数名=SECRET_KEY
    "#{ENV[' SECRET_KEY ']}"

※上記をビューで表示させる場合は、Rubyタグ<%= %>で囲うことで表示されました。
※文字と一緒に使用する場合(文字=ほげほげ)
 "ほげほげ #{ENV[' SECRET_KEY ']}" で ほげほげhogehoge と表示されました。

⑤GitHubの公開設定(.gitignoreに.envを追加)

Gitにアップしたくないファイルやフォルダは .gitignoreファイル に追記し除外する。

  • .gitignoreファイル の一番下の行に  /.env  を追記
  • $ git status でGit管理下から除外されたか確認
    → .envファイルが表示されなければ、Git管理下から除外できているのでGitへpushしても情報が公開されずに済みます。

まとめ

  • 公開したくない情報はdotenv-rails(gem)を利用し、環境変数として管理する
  • 環境変数を定義した.envファイルをGitの管理下から除外させる必要がある(.gitignoreへ記述)

※本記事は、学習の覚え書として書いていますので参考程度にご覧ください。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?