#ruby-on-rails-3 #compatibility
#ruby-on-rails-3 #совместимость
Вопрос:
что лучше всего подходит для выбора версии rails для использования в вашей разработке?
Я хотел перейти на новейшую версию для новых функций, но во многих случаях была высока вероятность того, что мой существующий код будет поврежден, и на его исправление определенно требовалось много дополнительного времени. Должен ли я придерживаться текущей версии rails, которую я использую? или направляетесь на обновление?
Любые советы или рекомендации будут очень признательны.
Ответ №1:
Полезно всегда обновляться, потому что новые драгоценные камни могут не поддерживать более старые версии Rails, и вы получите новые функции от Rails, которые могут сократить код. Вы можете делать это шаг за шагом, исправляя время от времени код, который будет ломаться в более новой версии Rails. Это больше похоже на непрерывный рефакторинг.
Ответ №2:
Я думаю, вам нужно тщательно проверять, когда и как обновляться. Вот несколько советов, которые могут помочь в процессе обновления:
- Исправленные версии (например, обновление с
Rails 3.1.0 to Rails 3.1.1
) обычно не вызывали никаких проблем. Обновляйте, когда это возможно, обычно вам не нужно ничего менять. Иногда вам нужно проверить, следует ли обновлять и другие драгоценные камни, прочитайте примечания к выпуску, они дают (иногда) подсказки об этом. -
Второстепенные версии (например, обновление с
Rails 3.0.9 to Rails 3.1.0
) содержат новые функции и несовместимые изменения. В примечаниях к выпуску вы найдете информацию о том, что изменилось и должно быть проверено заранее. В качестве примера посмотрите на Rayan Bates railscast «Обновление до Rails 3.1.0». Обычно вам необходимо выполнить следующие шаги:- Обновитесь до последней версии исправления.
- Посмотрите на устаревшие сообщения журнала. Это те, которые могут сломаться после обновления.
- Пометьте текущее приложение или ветку, чтобы убедиться, что обновление ничего не уничтожит.
- Выполните обновление до того момента, когда вы будете уверены, что большинство необходимых функций снова работают.
- Объедините внесенные изменения и продолжайте обновление
(Я сделал это за последние несколько дней для приложения, которое я обновил с Rails 1.2 до 2.0, с 2.3.8 до 3.0.0 до 3.0.9, а теперь 3.1.1.)
- Обновление основных версий еще сложнее. Вы должны убедиться, что у вас достаточно времени и ресурсов для проверки всех возможных незначительных сбоев. В большинстве случаев команда Rails предоставляла ресурсы, которые помогали выполнять обновление, например, помощник по обновлению Rails или 3 railscast «Обновление до Rails 3».
В любом случае, вы должны хотя бы проверить, совместимы ли основные используемые вами Gems (дополнительные к обычным Rails gems) с версией, на которую вы хотите перейти. Это может быть сложно, но иногда информация доступна.
Мой опыт показывает, что серьезные обновления требуют времени, и если у вас его нет, не выполняйте обновление. Незначительные обновления занимают некоторое время и, в зависимости от изменений (ресурсы в Rails 3.1), имеют свою цену, которая иногда, не всегда, того стоит. Обновления исправлений безболезненны и должны выполняться по желанию.