gem 'config'による定数管理

gem 'config' で、環境ごとに異なる定数を管理する。
設定値をconfigフォルダ以下に一元管理すると、メンテナンスが楽になる。

gem 'config'
$ rails g config:install

インストールにより、以下のファイルが生成される。

config/initializers/config.rb
config/settings.yml
config/settings.local.yml
config/settings/development.yml
config/settings/production.yml
config/settings/test.yml

開発環境でのみ使用する設定値はconfig/settings/development.yml、テスト環境はconfig/settings/test.ymlに定義。
環境毎に値が変わらない場合は、1つ上の階層のconfig/settings.ymlファイルに定義。

例:開発環境でのメールのプレビューに用いるドメイン名を管理

# config/settings/development.yml
default_url_options:
  host: 'localhost:3000'
# config/development.rb
config.action_mailer.default_url_options = Settings.default_url_options.to_h

Settingsオブジェクトにアクセスして定数を呼び出す。