config gemを使って環境変数も読み込む
config gemには、ENVオブジェクトから値を読み込むためのuse_envオプションがあります。
しかし単にuse_envをtrueにしても、ちゃんと環境変数が読み込まれません(env_separatorがデフォルトだと.になっているため)
なので以下のようにenv_separatorに_を指定します。
Config.setup do |config| config.use_env = true config.env_prefix = 'SETTINGS' config.env_separator = '_' end
こうすれば、Rails起動前に例えば、SETTINGS_MYKEY=my_valueと環境変数を設定すれば、
Settings.mykeyで”my_value"が取得できるようになります。
また、SETTINGS_MY_KEY=my_valueと環境変数を設定すると、Settings.my.keyのようにネストされて設定されます。
※ちなみにconfig.env_prefixを設定しないと、Settings_MYKEY=my_valueと設定しないといけなくなる…。あとenv_prefixをつけたくないなと思ってconfig.env_prefix = ''を設定してもちゃんと動かなかった。