如何从environment.rb或初始化程序中强制执行RAILS_ENV = development?

我们的主机不允许我们修改乘客配置文件(即apache配置或vhosts文件),但我们想在开发模式下运行rails。 因此,我们必须在其中一个文件中指定环境(prod / dev / test),以便重新启动应用程序。 有人知道怎么做吗?

我们尝试了以下但没有运气:

#environment.rb (before any other code is executed) `RAILS_ENV=development` # using back ticks ENV['RAILS_ENV'] = 'development' # assigning to a constant RAILS_ENV='development' # as suggested by one of the answers, unfortunately does not work. 

为什么不更改production.rb配置以匹配development.rb中的设置?

environment.rb的顶部将其设置为:

 RAILS_ENV = 'development' 

应该这样做。 不过,乘客可能会超越这一点。

如果您无法访问乘客配置,但您可以访问虚拟主机,那么您也可以通过以下方式强制执行:

 RailsEnv development 

在envriornment.rb中,您可以添加:

 RAILS_ENV="production" RAILS_ENV.freeze 

这样当它试图稍后重置时,它将失败。

我不确定这会产生什么其他后果,或者它是否会渗透到轨道内的任何地方。

而不是在environment.rb中设置ENV["RAILS_ENV"] ,而是在boot.rb执行此boot.rb 。 详情请见此处 。

RAILS_ENV =“production”RAILS_ENV.freeze / ENV这样当它试图稍后重置时,它将失败。

我不确定这会产生什么其他后果,或者它是否会渗透到轨道内的任何地方。