Как вы сказали, что хотите обновить версию текущего приложения для rails, вам нужно выполнить несколько шагов:
Перед этим просто проверьте следующие настройки:
- Проверьте настройки environment.rb
- Перенос файлов .rhtml в html.erb
- Проверьте любые изменения маршруты, которые, возможно, должны быть сделаны, учитывая, что ROR 2.3.4 упростил указание маршрутов
Убедитесь, что у вас есть хорошая система SCM под рукой
Например: git, svn, (или) даже cvs. так что небольшие постепенные изменения могут быть зафиксированы.
Следует проверить совместимость плагинов
Обновите любые записи form_tag, например
<%= form_tag :action=> "search" %> becomes <% form_tag :action=>"search" do %>
Аналогично, измените <% = end_form_tag%> на <% end%>.
Как только вы закончите с вышеуказанными настройками, следуйте инструкциям, приведенным ниже:
Сначала мы должны обновить рельсы с помощью следующей команды
$ sudo gem install rails
Поскольку rails: freeze: gems в 1.2.3 не совместима с RubyGems 1.3.1 (проблема GemRunner), и поскольку он не знает об активных ресурсах, мы будем использовать свежий Rails 2.3.4 для проверки из источников:
$ cd ~ / src
$ rails rails23-app
$ cd rails23-app
$ rake rails: freeze: gems
Создать ветку для апгрейда
$ cd ~ / src / app_to_upgrade
$ git checkout -b rails23 # Предполагается, что ваше приложение в Git
Обновление источника Rails
$ rm -rf vendor / rails
Приложение $ mv ~ / src / rails23-app / vendor / rails vendor
Обновите config / boot.rb и public / javascripts / *. Переименуйте application.rb в application_controller.rb
$ рейковые рейки: обновление
Получить файлы конфигурации / инициализаторов / *. Убедитесь, что настройки сеанса подходят для вашего приложения.
$ cp -r ~ / src / rails23-app / config / initializers config
Убедитесь, что ваши файлы config / environment.rb и config / environment / * совместимы с Rails 2.3. Сделайте это, сравнив свои версии файлов с версиями в rails23-app
Не используйте config.time_zone = 'UTC', если столбцы даты и времени вашей базы данных не указаны в UTC
Вы хотите сохранить свой файл environment.rb достаточно маленьким, разбивая части на файлы config / initializer / *.
ActionMailer::Base.server_settings
был переименован в ActionMailer::Base.smtp_settings
Удалите / обновите / исправьте все плагины вашего приложения, которые могут быть несовместимы с Rails 2.3. Некоторые вещи были перенесены из Rails в плагины, и вам нужно будет установить эти плагины. Для нумерации страниц я рекомендую will_paginate (http://github.com/mislav/will_paginate/tree/master)
Просмотрите все исправления, которые вы сделали для Rails.
Сделайте ваши тесты совместимыми с Rails 2.3:
Зафиксируйте свою ветку в Git, объедините ее с master и разверните.
Теперь вы можете попробовать.