Ruby on rails 如何从environment.rb或初始值设定项中强制RAILS_ENV=development?

Ruby on rails 如何从environment.rb或初始值设定项中强制RAILS_ENV=development?,ruby-on-rails,ruby,development-environment,environment-variables,Ruby On Rails,Ruby,Development Environment,Environment Variables,我们的主机不允许我们修改乘客配置文件(即apache配置或vhosts文件),但我们希望在dev模式下运行rails。因此,我们必须在应用程序重启时rails加载的一个文件中指定环境(prod/dev/test)。有人知道怎么做吗 我们尝试了以下方法,但没有成功: #environment.rb (before any other code is executed) `RAILS_ENV=development` # using back ticks ENV['RAIL

我们的主机不允许我们修改乘客配置文件(即apache配置或vhosts文件),但我们希望在dev模式下运行rails。因此,我们必须在应用程序重启时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.

将其设置在environment.rb的顶部,使用:

RAILS_ENV = 'development'
我应该这样做。不过,乘客可能会超越这一点

如果您没有访问乘客配置的权限,但您有访问虚拟主机的权限,那么您也可以使用以下命令将其强制进入:

RailsEnv development

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

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

RAILS_ENV="production"
RAILS_ENV.freeze
这样,当它稍后尝试重置时,它将失败


我不确定这以后会有什么其他影响,或者它是否会渗透到rails中的任何地方。

不要在
环境.rb中设置
ENV[“rails\u ENV”]
,而是在
引导.rb中设置。
有关详细信息,请参见。

RAILS\u ENV=“生产” RAILS_ENV.freeze/ENV 这样,当它稍后尝试重置时,它将失败


我不确定这将在以后产生什么其他后果,或者它是否会渗透到rails中的任何地方。

勇敢的尝试,但不幸的是没有骰子。我修正了这个问题,所以很明显我们也不能访问vhosts文件。“生产”这个名字没有什么神奇之处。交换所有设置(不要忘记config/environments/production.rb文件)应该可以。Eggsellente…我最初没有这样做是因为…嗯…我患有…隧道视力?从上面的一个有用答案复制而来