定数値を環境ごとに分岐したいだけならRails.env.xxx? やconfig/environments以下のファイルに値を書くより環境変数にくくり出した方がよさそう
Railsで開発していると
if Rails.env.production? # production環境用の処理 elsif Rails.env.staging? # staging環境用の処理 else # それ以外の環境用の処理 end
という風に環境ごとの処理を書いたり、config/environments以下のproduction.rbやstaging.rb, development.rbに config.xxx
と各環境用の値を設定して、Rails. configuration.xxxと呼び出すことができます。
しかし、環境ごとに変わる部分が単なる定数値であれば環境変数にして
ENV['SOME_VALUE']
のように参照することでproduction.rbやstaging.rbに値をハードコーディングせずに済ませることができます(代わりにdotenvなどを使い、.envファイルを共有したりします)。
こうしておくと環境ごとの値を変更したい場合リポジトリにコードをコミットせず済ませることができるので、処理の流れは変更しないが利用する外部リソースのURIなどを試行錯誤するときなどでは楽になります。