4

我正在使用Rails 生成 rspec:install spec_helper.rb` rails (3.0.4),其中包含以下行:rspec-rails (2.5.0). When I run it produces

ENV["RAILS_ENV"] ||= 'test'

当我运行时,rake spec我在终端中收到此警告:

DEPRECATION WARNING: RAILS_ENV is deprecated. Please use ::Rails.env.

这并不那么烦人,因为它只在 my 中运行一次Spork.prefork,但如果可能的话,我想克服这种弃用。我是 Rails 新手,在rspec-rails 问题或其他任何地方都没有提到这一点。

4

2 回答 2

7

我在GitHub 问题中的回复:

该警告告诉您RAILS_ENV不推荐使用常量,而不是环境变量ENV["RAILS_ENV"]。如果您克隆 Rails 存储库并查看 v3.0.4 标记并搜索RAILS_ENV,您会看到 Rails 本身ENV["RAILS_ENV"]在多个地方使用。

必须来自您应用程序中的其他地方。

于 2011-03-29T04:17:02.167 回答
2

在 Rails 3.0.4 中必须是新的。这应该有效:

ENV["RAILS_ENV"] || = 'test'从 spec/spec_helper.rb 中删除

寻找require rspec/rails线。

::Rails.env ||= 'test'在它之后立即添加。

在 rspec-rails 跟踪器上打开一个问题是个好主意,因为这需要更改。

于 2011-02-11T05:19:41.203 回答