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