開発には、バージョン管理で無視される構成ファイルを使用する必要があります。YAML、JSON、ruby、bashなどが考えられます...それは簡単な選択です。次に、初期化ファイルを使用して、アプリの起動時にこれらの変数が読み込まれることを確認します。本番環境では、デプロイプロセスの一環として、構成ファイル(設定が異なる場合もあります)を適切な場所にコピーできます。または、herokuを使用している場合は、コマンドラインからを使用してこれらを設定できますheroku config:add YADA=yada
。
YAMLファイルからの設定を使用した基本的な例を次に示します。
# config/settings.yml
development:
MANDRILL_USERNAME=secret_username
MANDRILL_PASSWORD=secret_password
ANOTHER_SECRET_SETTING=the_list_goes_on_and_on
production:
MANDRILL_USERNAME=different_username
MANDRILL_PASSWORD=another_password
ANOTHER_SECRET_SETTING=get_the_idea?
# .gitigore
# ...
config/settings.yml
# config/initializers/environment_settings.rb
environment_settings = YAML.load_file('./config/settings.yml')[Rails.env]
environment_settings.each do |key, value|
ENV[key] ||= value
end