Нужна помощь в обновлении моей версии рельсов - PullRequest
3 голосов
/ 11 февраля 2010

Я новичок в Ruby on Rails. Мне нужно обновить версию rails с 1.2.3 до 2.3.5. Я работаю в среде Windows с базой данных mysql. Не могли бы вы помочь мне с шагами по четкому обновлению версии rails.

Спасибо

1 Ответ

3 голосов
/ 11 февраля 2010

Как вы сказали, что хотите обновить версию текущего приложения для rails, вам нужно выполнить несколько шагов:

Перед этим просто проверьте следующие настройки:

  1. Проверьте настройки environment.rb
  2. Перенос файлов .rhtml в html.erb
  3. Проверьте любые изменения маршруты, которые, возможно, должны быть сделаны, учитывая, что ROR 2.3.4 упростил указание маршрутов
  4. Убедитесь, что у вас есть хорошая система SCM под рукой Например: git, svn, (или) даже cvs. так что небольшие постепенные изменения могут быть зафиксированы.

  5. Следует проверить совместимость плагинов

  6. Обновите любые записи form_tag, например <%= form_tag :action=> "search" %> becomes <% form_tag :action=>"search" do %>

  7. Аналогично, измените <% = end_form_tag%> на <% end%>.

Как только вы закончите с вышеуказанными настройками, следуйте инструкциям, приведенным ниже:

  1. Сначала мы должны обновить рельсы с помощью следующей команды

    $ sudo gem install rails

  2. Поскольку 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

  3. Создать ветку для апгрейда

    $ cd ~ / src / app_to_upgrade $ git checkout -b rails23 # Предполагается, что ваше приложение в Git

  4. Обновление источника Rails

    $ rm -rf vendor / rails Приложение $ mv ~ / src / rails23-app / vendor / rails vendor

  5. Обновите config / boot.rb и public / javascripts / *. Переименуйте application.rb в application_controller.rb

    $ рейковые рейки: обновление

  6. Получить файлы конфигурации / инициализаторов / *. Убедитесь, что настройки сеанса подходят для вашего приложения.

    $ cp -r ~ / src / rails23-app / config / initializers config

  7. Убедитесь, что ваши файлы 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

  1. Удалите / обновите / исправьте все плагины вашего приложения, которые могут быть несовместимы с Rails 2.3. Некоторые вещи были перенесены из Rails в плагины, и вам нужно будет установить эти плагины. Для нумерации страниц я рекомендую will_paginate (http://github.com/mislav/will_paginate/tree/master)

  2. Просмотрите все исправления, которые вы сделали для Rails.

  3. Сделайте ваши тесты совместимыми с Rails 2.3:

  4. Зафиксируйте свою ветку в Git, объедините ее с master и разверните.

Теперь вы можете попробовать.

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