Подтвердить что ты не робот

Как я могу сделать приложение Ruby on Rails 2.3.4 "Rails 3-ready"

Я разрабатываю приложение с Ruby on Rails, которое я хочу поддерживать в течение как минимум нескольких лет, поэтому я обеспокоен следующей версией, которая скоро появится.

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

В этом проекте я не хочу этого делать. Во-первых, потому что эта новая версия выглядит потрясающе, но также потому, что это приложение может превратиться в настоящий продукт.

  • Как я могу подготовить свое приложение, чтобы оно было обновлено с минимальными изменениями.

  • Как вы думаете, сколько времени займет коммутационная версия?

  • А как насчет моего сервера? Развертывание?

Я уже смотрю на уведомления об отказе... что еще я могу сделать?

4b9b3361

Ответ 1

Лучшее, что вы могли бы сделать, это следить за развитием Rails 3 через блоги и репозиторий Github и поддерживать вместе с ним копию своего приложения.

Официальный Блог Ruby on Rails обновляется каждые несколько раз в сообщениях "Что нового в Edge". Есть другие блоги, которые часто пишут о новых вещах в краю. Большие функции часто выделяются в этих блогах, поэтому вы знаете обо всех интересных новых функциях, с которыми вы можете играть.

Я не уверен, как закрыть Rails 3 (в последний раз я слышал, что основная команда говорила о выпуске на RailsConf 2009 в мае), но вы всегда можете заморозить пограничную версию Rails в своем приложении и просто увидеть что ломается. Если вы используете git или другой DVCS, вы можете сделать ветвь специально для Rails 3 и периодически обновлять Rails до последнего краевого кода. Просто имейте в виду, что edge Rails - это движущаяся цель, поэтому в вашем приложении могут сломаться или исправляться, когда вы используете новый код Rails.

Обновление: У Джереми Маканали есть тонна информации об обновлении от Rails 2 до Rails 3 в его блоге. http://omgbloglol.com/

Ответ 2

Я не думаю, что это будет серьезная проблема. Исходя из того, что было сказано в этом первоначальном отчете, команда Rails поняла, что они не могут сделать крупную переписку, как это делали от 1 до 2.

Они даже говорят:

Я уверен, что некоторые части Rails 3 несовместимы, но постарайтесь свести их к минимуму и упростить преобразование приложения Rails 2.x в Rails 3.

Меня больше беспокоит переход от Merb to Rails 3.

Ответ 3

Самая важная вещь, которую вы можете сделать, чтобы упростить переход на новую версию рельсов, - это иметь комплексный набор тестов. Без хорошего набора тестов я никогда не был уверен, что новая версия рельсов не сломала что-то в моем приложении. В текущем приложении Rails, над которым я работаю, мы начали работу над Rails 2.1.1 еще в октябре 2008 года. С тех пор мы перешли на Rails 2.1.2, 2.2.2, 2.3.2, 2.3.3 и теперь 2.3.4. Я выполнил миграцию до 2.3.2, 2.3.3 и 2.3.4... и для обновлений 2.3.2 и 2.3.3 у нас были некоторые неудачные тесты, которые предупреждали нас о проблемах, которые мы бы не обнаружили, хороший набор тестов. Провальные тесты на самом деле предупредили нас о регрессивной ошибке в рельсах, что на палубе Rails был патч, но он не был включен в релиз (поскольку он был обнаружен сразу после выпуска).

Как только вы приобретете этот набор тестов, просто оставайтесь в курсе всех выпусков рельсов (ожидание пары недель для обновления в порядке, просто не пропустите ни один из выпусков).

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

Итак, если у вас есть хороший набор тестов, чтобы выявить неизбежные проблемы с обновлением и оставаться в курсе выпуска Rails, переход на Rails 3 не должен быть слишком сложным.

Ответ 4

Проще, чем:

Великие скринкасты от Райана Бейтса.

Ответ 5

Для подготовки вашего приложения лучше всего это, как сказал Джаред. Следуйте за развитием Rails3.

В течение долгого времени я думаю, что это зависит от того, как вы следовали за развитием rails3 до его выпуска.

И для развертывания это не должно занимать слишком много проблем. Rails 3 будет использовать Rack. Таким образом, вы можете запустить его с mongrel, пассажиром или любым сервером/шлюзом, это не должно вызывать никаких проблем.

Ответ 6

В Rails 3 произошли некоторые существенные изменения. Я рассказал о своем опыте обновления моего приложения до Rails 3 здесь: http://rails3.community-tracker.com/permalinks/5/notes-from-the-field-upgrading-to-rails-3 p >

Хорошим началом в подготовке было бы перейти на использование bundler. И сделаем очень глубокий обзор строк, которые пройдут через новую схему защиты XSS.

Ответ 7

Будут некоторые автоматические проверки совместимости. Кроме того, следите за http://www.railsplugins.org/, чтобы вы знали, будут ли библиотеки, на которых вы полагаетесь, будут обновлены. На этот раз команда Rails Core, похоже, много сообщает об этом сообществу, поэтому любая активно действующая lib должна быть хорошей.

Ответ 8

Просто сделайте одно.

сначала создайте резервную копию своего старого проекта, а затем

на терминале (командная строка) пишите

rails new path/of/the/project

например, если мой проект 2.3. * находится в home/rails_projects/myproject, то

rails new home/rails_projects/myproject

или

cd home/rails_projects
rails new myproject

Он спросит, есть ли какие-либо изменения в любых /config или других файлах. Соблюдайте.