Статьи

Установка и управление пограничными Rails

По запросу я дам вам краткое изложение того, как развиваться под последнюю версию Rails. Почему вы хотите это сделать? Возможно, вы работаете над новым приложением, которое некоторое время будет в разработке, поэтому стабильность не является большой проблемой. Может быть, вы хотите быть крутым парнем в блоке, играющем с пока не выпущенными функциями. В любом случае, вот как вы это делаете.

По умолчанию, когда вы запускаете приложение Rails, оно пытается использовать Rails из каталога вашего проекта vendor/rails . Если это не может быть найдено, это возвратится к последнему драгоценному камню.

Чтобы использовать пограничные Rails в существующем проекте, просто выполните svn checkout транка rails в каталог vendor / rails внутри вашего проекта.

 svn co http://dev.rubyonrails.org/svn/rails/trunk vendor/rails 

Если вы начинаете новый проект, вы можете проверить Rails из SVN, а затем использовать его для создания нового проекта. Все следующие команды предназначены для * nix-платформ. Если вы пользователь Windows, вам придется адаптироваться соответственно (и, возможно, оставить комментарий для других?)

 mkdir -p cutting_edge_project/vendor cd cutting_edge_project svn co http://dev.rubyonrails.org/svn/rails/trunk vendor/rails ruby vendor/rails/railties/bin/rails . ./script/server => Booting Mongrel (use 'script/server webrick' to force WEBrick) ... 

Если вы хотите синхронизировать вашу версию Rails с последней версией SVN, просто выполните команду svn update в каталоге rails (и не забудьте перезапустить ваш сервер).

 svn update vendor/rails 

Если магистральная версия Rails не работает и вы хотите выполнить откат к определенной ревизии, передайте ее в команду обновления с помощью -r .

 svn update -r4598 vendor/rails 

Если вы управляете своим проектом в SVN, скорее всего, вы не хотите извлекать транк Rails в каталог вашего поставщика, а вместо этого хотите svn export или использовать svn:externals .

Чтобы создать новое ребро Rails, которое будет проверено в SVN:

 mkdir -p cutting_edge_svn_project/vendor cd cutting_edge_svn_project svn export http://dev.rubyonrails.org/svn/rails/trunk vendor/rails ruby vendor/rails/railties/bin/rails . rm -R vendor/rails # prepare project for SVN (ie delete logs, etc) and import 

После того, как вы my_checked_out_project копию своего проекта, скажем, my_checked_out_project , установите свойство svn:externals каталога vendor и выполните svn update :

 cd my_checked_out_project svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/trunk" vendor svn update 

Теперь вы должны обнаружить, что всякий раз, когда вы проверяете свой проект или делаете SVN-обновление, он также обновляет Rails. Это нормально, но вскоре вы обнаружите, что хотите немного больше контролировать, когда обновитесь до последней версии Rails. Чтобы вручную указать, какую версию Rails вы хотите использовать, используйте флаг -r :

 svn propset svn:externals "rails -r4859 http://dev.rubyonrails.org/svn/rails/trunk" vendor svn update 

и только потому, что Rails предназначен для простоты, он поставляется с двумя задачами Rake, чтобы сделать это для вас (хотя с загадкой, что вы можете выполнить их, только если у вас уже есть проект Rails)

 rake -T rails:freeze 

Для синхронизации файлов JavaScript и конфигурации вашего проекта с Rails, который находится в каталоге вашего поставщика, выполните следующую команду rake:

 rake rails:update # Update both configs, scripts and public/javascripts from Rails