日常

ケ・セラ・セラ

rails でのちょっとした定数の管理

railsconfig/configbinarylogic/settingslogic を使うほどでもない。という場合によくやる方法です。

たとえば環境ごとに分けたい設定値があったとすると、

config/settings.yml などに設定値を環境ごとに書いて、

development:
  awesome_value: "dev"
staging:
  awesome_value: "staging"
test:
  awesome_value: "test"
production:
  awesome_value: "production"

config/initializers/load_settings.rb などで load する。

SETTINGS = YAML.load_file("#{Rails.root}/config/settings.yml")[Rails.env]

するとこんな風に使える。load するときに Rails.env を指定してその環境のものを設定しているのがポイント。

SETTINGS["awesome_value"]