我不喜欢硬编码可以从环境中派生的东西......所以在我的上帝监视器中,我想使用 ::Rails.root.to_s 或 ::Rails.env 而不是 ENV['RAILS_ENV'] || “生产”
- 加载 Rails 有意义吗?
- 我该如何做才能获得此功能?
我不喜欢硬编码可以从环境中派生的东西......所以在我的上帝监视器中,我想使用 ::Rails.root.to_s 或 ::Rails.env 而不是 ENV['RAILS_ENV'] || “生产”
您不应该从您的显示器加载 Rails 应用程序。
相反,您应该建立所需的约定。
环境变量RACK_ENV
或RAILS_ENV
必须正确设置为环境变量,或者应该有一些其他约定让整个基础设施堆栈知道环境应该是什么。在此示例中,您的基础设施的每一部分都可以使用魔法公式ENV["RACK_ENV"] || ENV["RAILS_ENV"] || "development"
。
应用程序应部署到整个基础架构堆栈都知道的众所周知的位置。例如,您的基础设施的每一部分都可以使用魔法公式Pathname.new("/srv/apps").join(APPLICATION_NAME).join("current").to_s
。