Как я намекал в комментарии к моему последнему сообщению в блоге, релиз-кандидат 1 для Rails 2.0 только что был выпущен с рядом улучшений и исправлений ошибок, и при подготовке к финальному выпуску рекомендуется всем, кто использует предварительную версию обновляет там приложения — но как вы можете это сделать? Ну, это намного проще, чем вы думаете, и вы можете быть избирательными в отношении того, какие приложения будут преобразованы.
Хотя вы можете ссылаться на библиотеки Rails по общему пути через гемы, вы также можете устанавливать определенные версии для каждого сайта. Rails автоматически найдет папку rails в каталоге vendor — если он ее найдет, он будет ее использовать.
Замораживающие рельсы
Вероятно, самый простой способ — использовать задание «заморозить грабли». Выполнение следующего в корневом каталоге вашего приложения должно помочь:
rake rails:freeze:edge TAG=rel_2-0-0_RC1
Поршень
Если вы более предприимчивы и хотите играть с передовой, вы можете использовать Piston, чтобы помочь вам управлять всеми вашими плагинами рельсов (включая ядро!). Теперь, если вы хороший маленький разработчик, вам следует использовать какой-то репозиторий контроля версий, мой личный выбор — Subversion (SVN). Так уж вышло, что это выбор для основной команды Rails, а также для многих (если не для большинства) разработчиков плагинов Rails.
Но что произойдет, если вы захотите обновить версию своего приложения и будете в курсе обновлений вашего любимого плагина? Ну, в прошлом вы бы использовали свойство svn: external, которое позволяло вам хранить несколько деревьев кода в одном репозитории. Конечно, это достаточно легко сделать, но почему бы не сделать это еще проще? Введите поршень .
Страница Piston лучше объясняет, как все это работает и как ее настроить, так что я оставлю это на ваше усмотрение, чтобы прочитать, но для ознакомления с краевой версией Rails все, что вам нужно сделать, это:
piston import http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
piston import http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
Тогда просто беги
piston update vendor/rails
piston update vendor/rails
обновить его!