GitHubで公開したくないデータ(パスワードなど)を別ファイルに書いておいて、viewやcontrollerでそのデータを使う方法を紹介します。今回は環境変数を使用してデータを参照できるようにします。
環境
Ruby on Rails 4.2.6
Ruby 2.0.0p353
dotenvのインストール
環境変数を使うためにdotenvを導入します。Gemfile
に下記を追加します。追加する場所はループの中以外ならどこでもOKです。
Gemfile
gem 'dotenv-rails'
上記を追加したらbundle install
を実行します。
$ bundle install
環境変数を定義
dotenvでは.env
というファイルの中に書いてあるデータを参照します。.env
をアプリケーションディレクトリのルートディレクトリ(appやdbやGemfileがあるディレクトリ)に作成し、公開したくないデータを定義します。
.env
LOGIN_NAME='noraworld'
LOGIN_PASSWORD='fh328sd9fshkq342bsfhsfuew'
環境変数の使い方
viewやcontrollerで以下のように書けば使えるようになります。
viewやcontroller内のファイル
ENV['LOGIN_NAME']
ENV['LOGIN_PASSWORD']
gitignoreに追加
隠しておきたいデータを定義した.env
ファイルをGitHubに公開してしまっては意味が無いのでこのファイルは公開しないようにします。.gitignore
に下記を追加します。
.gitignore
/.env
これで.env
内のデータを隠してGitHubでコードを公開できるようになります。