Как обновить приложение rails с 2.2.2 до 2.3.11? - PullRequest
9 голосов
/ 01 марта 2011

Я установил rails.2.3.11 и запустил rake rails: обновление.

Нужно ли мне больше изменять файлы?

Ответы [ 2 ]

13 голосов
/ 04 марта 2011

Шаги по обновлению Rails 2.2.2 до 2.3.11.

  1. rails install -v=2.3.11

  2. изменить config/environment.rb

    RAILS_GEM_VERSION = '2.3.11' unless defined? RAILS_GEM_VERSION
    
  3. запустить задачу rake => rake rails:update # Update configs, scripts and javascripts

    Эта задача rake изменит некоторые файлы.

  4. modify config/environment.rb

    Заменить

    config.action_controller.session = {
      :session_key => '_name_session',
      :secret      => 'asdfasfasfafafafadaseerweewr'
    }
    

    на

    config.action_controller.session = {
      :key => '_name_session',
      :secret      => 'asdfasfasfafafafadaseerweewr'
    } 
    
  5. изменить app/controllers/application_controller.rb

    Заменить

    session :session_key => '_intrado_session_id'
    

    на

    #session :session_key => '_intrado_session_id'
    
  6. Заменить

    session.session_id
    

    с

    request.session_options[:id]
    

Может быть, это поможет ...

РЕДАКТИРОВАТЬ:

Rails 2.3.11 + Rack 1.0.0 + Phusion Passenger 2.0.6, вызывающий проблему 500 внутренняя ошибка сервера неопределенный метод 'rewind' для решения этой проблемы.

Я установил.

  1. sudo gem install rack -v=1.1.1

  2. sudo gem install passenger -v=2.2.8

  3. passenger-install-apache2-module

Будет предложено заменить несколько строк в / etc / httpd / conf/httpd.conf со следующим в конце установки 3-го шага

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.8/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.8
PassengerRuby /usr/local/bin/ruby

Этот файл уже будет иметь три строки выше.Таким образом, было бы достаточно заменить 2.0.6 на 2.2.8.

После выполнения вышеуказанных шагов перезапустите apache2 и перезапустите рельсы с помощью следующих команд.

  1. sudo /etc/init.d/http.d restart
  2. cd /var/www/project_name
  3. sudo touch tmp/restart.txt
0 голосов
/ 22 октября 2013

Не заменяйте session.session_id на request.session_options [: id] .

Это приведет к 500 внутренней ошибке сервера

Я получил неопределенную локальную переменную или метод `request 'для # , когда заменил session.session_id на request.session_options [: id] .

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