Как заменить ENV Rspec ["RAILS_ENV"] || = 'test' устарел в Rails 3.0? - PullRequest
4 голосов
/ 11 февраля 2011

Я использую rails (3.0.4) и rspec-rails (2.5.0). When I run рельсы генерируют rspec: install it produces spec_helper.rb`, который содержит эту строку:

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

Когда я запускаю rake spec, я получаю это предупреждениев терминале:

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

Это не так раздражает, так как он запускается внутри моего Spork.prefork только один раз, но я бы хотел, если это возможно, пройти через это осуждение.Я новичок в Rails и не нашел упоминания об этом в rspec-rails или где-либо еще.

Ответы [ 2 ]

7 голосов
/ 29 марта 2011

Дублирование моего ответа в проблеме GitHub :

Это предупреждение говорит о том, что постоянная RAILS_ENV устарела, а не переменная среды ENV["RAILS_ENV"].Если вы клонируете репозиторий Rails и проверите тег v3.0.4 и выполните поиск RAILS_ENV, вы увидите, что сам Rails использует ENV["RAILS_ENV"] в нескольких местах.

Должно быть, откуда-тоеще в вашем приложении.

2 голосов
/ 11 февраля 2011

Должно быть новым в Rails 3.0.4. Это должно работать:

Удалить ENV["RAILS_ENV"] || = 'test' из spec / spec_helper.rb

Найдите строку require rspec/rails.

Добавьте ::Rails.env ||= 'test' сразу после него.

Было бы неплохо открыть проблему на трекере rspec-rails, так как это нужно будет изменить.

...