【Rails】gem configについて
はじめに
アプリを開発していく中で本番環境と開発環境で値を変えたいといったケースが出てくると思います。たとえばホストの情報を管理したい時などに使えます。メールを送る下準備としてホスト情報を設定しておく必要があるのですが、ホスト情報って開発環境、ステージング環境、本番環境で異なりますよね? 例えばこのように。
これを素直に実装しようとするとこのようになるはずです。 gem configを利用することで、Ruby on Railsで便利に定数を管理することができます。
設定
Gemfile
gem 'config'
$ bundle install
初期設定
以下のコマンドを実行して、configの初期設定をおこなっていきます。
$ bundle exec rails g config:install Running via Spring preloader in process 30847 create config/initializers/config.rb create config/settings.yml create config/settings.local.yml create config/settings create config/settings/development.yml create config/settings/production.yml create config/settings/test.yml append .gitignore
「config/」以下にいろいろとconfig関連のファイルが生成されました。
設定方法
web: host: 'localhost:3000'
例 config/settings/development.yml
Settings.service.name Settings.service[:name] Settings[:service][:name]