Мы делаем обновление до Ruby on Rails 3 (как сейчас пол мира), и я старательно заменяю использование RAILS_ENV, например
RAILS_ENV == 'wibble'
# becomes
Rails.env.wibble?
Но я некак определенно, что делать с:
ENV["RAILS_ENV"] ||= 'production'
У нас это на вершине целой связки Rake задач и демонов, и идея в том, что вы можете пройти RAILS_ENV
в командной строке, но по умолчанию используется 'production', если она не передана.
Я не уверен в новом подходящем для Rails3 способе сделать это.Так что сейчас мой rails:upgrade:check
сильно жалуется на это вторжение Rails2-ишнесса ...
Я не знаю, сработает ли
::Rails.env ||= 'production'
.
Существует ли Rails.env
в демоне?
Автоматически ли он автоматически заполняется значением RAILS_ENV, передаваемым в командной строке, или нам нужен новый способ вызова демонов?
Какая мантра для этого подходит?
Обновление:
Изучая исходный код Rails.env
,
def env
@_env ||= ActiveSupport::StringInquirer.new(RAILS_ENV)
end
, мы можем вывести ряд вещей.
Во-первых, похоже, что RAILS_ENV
на самом деле все еще существует - это означает, что его можно установить, и Rails.env
найдет его ...
Если Rails действителен в контексте демона, то ничего болеедолжно быть сделано.Если нет - то мне было бы наплевать и использовать старый RAILS_ENV
, как и раньше.