0

我不喜欢硬编码可以从环境中派生的东西......所以在我的上帝监视器中,我想使用 ::Rails.root.to_s 或 ::Rails.env 而不是 ENV['RAILS_ENV'] || “生产”

  1. 加载 Rails 有意义吗?
  2. 我该如何做才能获得此功能?
4

1 回答 1

3

您不应该从您的显示器加载 Rails 应用程序。

相反,您应该建立所需的约定。

  • 环境变量RACK_ENVRAILS_ENV 必须正确设置为环境变量,或者应该有一些其他约定让整个基础设施堆栈知道环境应该是什么。在此示例中,您的基础设施的每一部分都可以使用魔法公式ENV["RACK_ENV"] || ENV["RAILS_ENV"] || "development"

  • 应用程序应部署到整个基础架构堆栈都知道的众所周知的位置。例如,您的基础设施的每一部分都可以使用魔法公式Pathname.new("/srv/apps").join(APPLICATION_NAME).join("current").to_s

于 2011-08-28T19:39:59.387 回答