Странное поведение при установке версии rails в environment.rb - PullRequest
0 голосов
/ 21 марта 2012

У меня в каталоге драгоценных камней есть рельсы 2.3.4 и рельсы 2.3.14. Создать проект

rails _2.3.4_ foo

Заменить строку:

RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION

с

if true
  RAILS_GEM_VERSION  = '2.3.4'
else
  RAILS_GEM_VERSION = "2.3.14"
end

Теперь, когда я запускаю консоль, я получаю:

Loading development environment (Rails 2.3.14)

но если ввести:

>> Rails.version
=> "2.3.4"

Однако сейчас я просто добавляю комментарий:

if true
  RAILS_GEM_VERSION = '2.3.4'
  # comment
else
  RAILS_GEM_VERSION = '2.3.14'
end

и я запускаю консоль и получаю:

Loading development environment (Rails 2.3.4)
Rails version = 2.3.4

Обратите внимание, что теперь он указывает на 2.3.4 в строке «загрузка». Мне кажется странным, что на это повлияет комментарий.

1 Ответ

0 голосов
/ 22 марта 2012

Код начальной загрузки rails, определяющий, какую версию rails на самом деле использовать, на самом деле не выполняет ваш environment.rb - он читает этот файл и пытается извлечь то, что вы установили RAILS_GEM_VERSION. Этот код легко спутать с условными выражениями и т. Д.

Если вы хотите точно контролировать, какие версии драгоценных камней используются, я бы порекомендовал использовать bundler.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...