Rails.env 与 RAILS_ENV

2024-03-22

在检查运行环境时,我在示例中看到了这两种情况。首选什么?就所有意图和目的而言,它们是否平等?


根据文档 http://api.rubyonrails.org/classes/Rails.html#method-c-env, #Rails.env wraps RAILS_ENV:

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

不过具体看一下how它被包裹起来,使用ActiveSupport::StringInquirer:

在此类中包装一个字符串给出 你有一个更好的测试方式 平等。返回的值 Rails.env 被包裹在 StringInquirer 对象,而不是 调用这个:

Rails.env == "production"

你可以这样称呼:

Rails.env.production?

所以他们不是exactly相当,但它们相当接近。我还没怎么用过 Rails,但我想说#Rails.env由于使用,肯定是更具视觉吸引力的选择StringInquirer.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails.env 与 RAILS_ENV 的相关文章

随机推荐