Переключение на rails 3

#ruby-on-rails #ruby-on-rails-3

#ruby-on-rails #ruby-on-rails-3

Вопрос:

Я хочу переключиться на rails 3 и заставить свой проект использовать его. Я установил драгоценные gem list | grep rails камни, вывод

 rails (3.1.1)
  

в config/environment.rb указано

 RAILS_GEM_VERSION = '3.1.1' unless defined? RAILS_GEM_VERSION
  

но если я наберу rails -v
, там будет написано Rails 2.3.2

когда я пытаюсь запустить сервер, я получаю это

 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- initializer (LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./script/../config/boot.rb:56:in `load_initializer'
from ./script/../config/boot.rb:39:in `run'
from ./script/../config/boot.rb:12:in `boot!'
from ./script/../config/boot.rb:111
from ./script/server:2:in `require'
from ./script/server:2
  

Если я попытаюсь сделать

 rails _3.1.1_ --version
  

Я получаю

 /opt/ruby1.9/lib/ruby19/1.9.1/rubygems.rb:636:in `report_activate_error': RubyGem version error: rails(2.3.2 not = 3.1.1) (Gem::LoadError)
from /opt/ruby1.9/lib/ruby19/1.9.1/rubygems.rb:141:in `activate'
from /opt/ruby1.9/lib/ruby19/1.9.1/rubygems.rb:49:in `gem'
from /opt/ruby1.9/bin/rails:18:in `<main>
  

Кто-нибудь знает, что я должен с этим делать?

Спасибо

Комментарии:

1. К сожалению, это не так просто. Вы можете создать новое приложение rails3 и переместить туда свои модели, контроллеры, представления, миграции и прочее. Кроме того, есть серия скринкастов, в которых описывается процесс миграции: railscasts.com/episodes/225-upgrading-to-rails-3-part-1

2. @taro: Я полагаю, вы могли бы превратить свой комментарий в ответ. Тогда я мог бы проголосовать за это;-)

Ответ №1:

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

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

Ответ №2:

Какие шаги вы выполнили до сих пор, чтобы выполнить обновление?

У вас есть книга обновлений — может стоить 12 долларов инвестиций — в зависимости от размера вашего приложения?

Какие драгоценные камни находятся в вашем Gemfile — у вас есть один, верно?

Установлен ли bundler?

Ваша среда, похоже, тоже запуталась в вашей версии Ruby — /opt/ruby1.9/lib/ruby19/1.9.1/ и /usr/local/lib/site_ruby/1.8 — возможно, стоит использовать что-то вроде rvm или rbenv, чтобы помочь управлять / разделять ваши версии gems и ruby.

Если вы используете версию 1.9 — 1.9.2, вероятно, это версия для использования, я думаю, что есть некоторые проблемы с 1.9.1.

Привет, Крис