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