環境ごとに定数を管理したい時は、rails-config を使うのが便利。
インストール
Gemfileに下記を追加しbundle install
# Gemfile
gem 'rails_config'
bundle install
後、rails_config の初期設定を実行
$ rails g rails_config:install
create config/initializers/rails_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
## 環境ごとに読み込まれるファイル
環境(env) | ファイル名 |
---|---|
共通 | config/settings.yml |
(ローカルの)開発環境 | config/settings.local.yml |
開発環境 | config/settings/development.yml |
テスト環境 | config/settings/test.yml |
本番環境 | config/settings/production.yml |
config/settings.local.yml
config/settings/*.local.yml
config/environments/*.local.yml
## 定数の出力 例えば`config/settings.local.yml`を、以下のように設定した場合
site:
url: 'http://hoge.jp'
desc: 'hogehoge'
View側の出力は以下のようになります。
<%= Settings.site.desc %> # hogehoge
ちなみにプリフィックスのSettings
は、config/initializers/rails_config.rb
で変更できます。