1. ホーム
  2. ruby-on-rails

[解決済み】Rails.envとRAILS_ENVの比較

2022-04-08 01:40:34

質問

どのような環境で動作しているかを確認する際に、両方の例を見ることができます。 何が好ましいのでしょうか? どう考えても同じでしょう?

解決方法は?

ドキュメントによると , #Rails.env ラップ RAILS_ENV :

    # File vendor/rails/railties/lib/initializer.rb, line 55
     def env
       @_env ||= ActiveSupport::StringInquirer.new(RAILS_ENV)
     end

しかし、具体的に見てみると どのように を使用してラップされています。 ActiveSupport::StringInquirer :

このクラスで文字列をラップすることで をテストするための、より美しい方法です。 が等しくなります。が返す値は Rails.envは StringInquirerオブジェクトの代わりに これを呼び出す。

Rails.env == "production"

を呼び出すことができます。

Rails.env.production?

だから、彼らは まさに は同等ですが、かなり近いです。 私はまだRailsをあまり使ったことがありませんが #Rails.env を使用するため、より視覚的に魅力的なオプションであることは確かです。 StringInquirer .