【Rails】環境変数(.env)を設定・取得する方法

環境変数.envを設定・取得する方法

データベースのパスワードなど環境に依存する値をdatabase.ymlに入れてしまうと、その他の環境では動作しなくなってしまいます。

そこで、環境変数を管理するファイル.envを開発環境ごとに用意して、Railsプログラムから参照させるようにしましょう。

設定自体はdotenvというgemを使えば簡単にできます。

目次

環境変数を扱うために必要なgemをインストール

Gemfileに下記を追記。

gem 'dotenv'

その後インストールしてください。

$ bundle install

環境変数を設定する

ルートディレクトリに.envファイルを作成して、下記のように記述します。

DATABASE_USER=root
DATABASE_PASS=password

キー=値の形にしてください。

環境変数を取得する

作成した環境変数は、コンソール(rails console)、Railsプロジェクト内の各種ファイルでENV['キー']で取得できます。

コンソールの場合は以下。

[1] pry(main)> ENV['DATABASE_USER']
=> "root"
[2] pry(main)> ENV['DATABASE_PASS']
=> "password"

database.ymlに記載する場合は以下。

default: &default
  adapter: mysql2
  encoding: utf8mb4
  username: <%= ENV['DATABASE_DEV_USERNAME'] %>
  password: <%= ENV['DATABASE_DEV_PASSWORD'] %>
  socket: /tmp/mysql.sock

まとめ

環境に依存する変数を.envに記録して必要なときに呼び出すようにすれば、開発環境が変わっても問題なく動作するようにできます。

.envはgitなどのホスティングサービスで公開しないようにしておくとよいですね。

環境変数.envを設定・取得する方法

この記事が気に入ったら
いいね または フォローしてね!

SHARE
  • URLをコピーしました!

コメント

コメントする

目次