如何将rails app从2.2.2升级到2.3.11?

时间:2011-03-01 13:18:33

标签: ruby-on-rails

我已安装rails.2.3.11并运行rake rails:upgrade。

我是否需要修改文件?

2 个答案:

答案 0 :(得分:13)

将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 task => rake rails:update # Update configs, scripts and javascripts

    此rake任务将修改部分文件。

  4. 修改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]
    
  7. 可能会有所帮助......

    修改

    Rails 2.3.11 + Rack 1.0.0 + Phusion Passenger 2.0.6导致问题 500内部服务器错误未定义方法'倒带'来解决该问题。

    我已安装。

    1. sudo gem install rack -v=1.1.1

    2. sudo gem install passenger -v=2.2.8

    3. passenger-install-apache2-module

    4. 在第3步安装结束时,它会提示您在/etc/httpd/conf/httpd.conf中用以下内容替换几行

      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.2.8替换2.0.6就足够了。

      执行上述步骤后,通过以下命令重新启动apache2并重新启动rails。

      1. sudo /etc/init.d/http.d restart
      2. cd /var/www/project_name
      3. sudo touch tmp/restart.txt

答案 1 :(得分:0)

请勿将 session.session_id 替换为 request.session_options [:id]

这将导致 500内部服务器错误

当我用 request.session_options [:id] session.session_id 时, 未定义的本地变量或#的方法“请求” >