从Rails 3升级到Rails 3.1

时间:2011-05-11 17:23:17

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

如何从Rails 3升级到Rails 3.1 beta?

9 个答案:

答案 0 :(得分:54)

在更新现有的rails 3.0.8项目时,这对我有用。你的里程可能会有所不同......

更新我的Gemfile中指定的rails版本以使用最新的候选版本:

gem 'rails', '3.1.0.rc4’

更新捆绑包:

bundle update

然后使用rake命令更新项目:

rake rails:update

在樱桃采摘后,虽然变化发生了冲突但我跑了所有的测试并且他们通过了(耶!)。我重新启动了服务器,到目前为止一切似乎都很好。

但是,这还没有使用新的资产管道。我的意思是javascript和css(或sass)文件仍然以预管道方式处理。据我了解,这是一个非常可行的选择。但当然,我想要新的优点,所以我相信接下来的步骤是包含和其他宝石(例如coffeescript,sass,uglifier等),然后将旧文件迁移到app / assets目录。

我发现了一些关于这方面的细节:

http://blog.nodeta.com/2011/06/14/rails-3-1-asset-pipeline-in-the-real-world/

希望这很有用。

答案 1 :(得分:28)

我刚刚将Gemfile更改为:

,从3.0升级到3.1
gem 'rails', '3.1.0.rc1'
gem 'sqlite3'
gem 'sass'
gem 'coffee-script'
gem 'uglifier'

我还在config / environments / development.rb

中注释了以下行
# config.action_view.debug_rjs = true

最后,确保在config / application.rb

中启用资产管道
config.assets.enabled = true

我不确定您是否已阅读发行说明http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

答案 2 :(得分:24)

Upgrade to Rails 3.1

注意:)

答案 3 :(得分:13)

升级Rails

更新:请谨慎使用系统rake,因为rake已升级。

bundle exec rake

确保您为给定的rails项目(source

使用正确的rake

我建议从一个全新的应用程序开始,然后复制您的特定应用程序信息,同时将资源转换为新的资产/链接器格式。

  

一个例子

     

转换旧的导轨2.3.4   应用程序到3.0我崩溃和烧毁的同时   一次更改一个文件   在项目内。不用说   这是一个有缺陷的策略,但我做到了   沿途学习一点。我结束了   跳过3.0并移动到3.1beta1   使用全新的应用程序,并复制我的应用程序   和获取后的公共文件夹   移民权利。这一举动有一个   几个突出的问题,最多   重要的是我没有使用   rails edge用于创建新应用程序   (感谢RubyInside的提示)。

     

首先抓住最新的铁轨   易于参考的位置:

     

cd ~/goodtimes

     

git clone   https://github.com/rails/rails.git

     

我的路径包含〜/ Desktop / Dropbox /   所以我的代码随处可用。

     

然后参考rails exec for   建立一个新的应用程序:

     

~/goodtimes/rails/bin/rails new bacon --edge

根据数据库的复杂程度,您可能希望使用更改语法创建新的迁移,或者将它们保留为:

 class CreatePosts < ActiveRecord::Migration
    def change
      create_table :posts do |t|
        t.string :title
        t.text :body

        t.timestamps
      end
    end
  end

我有一个问题部署到Heroku,但是RadyRacer宝石帮助解决了这个问题。这是一个简单的Gem文件的例子:

source 'http://rubygems.org'

gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

# Asset template engines
gem 'sass'
gem 'coffee-script'
gem 'uglifier'

gem 'jquery-rails'
gem 'pg'
gem 'therubyracer-heroku', '0.8.1.pre3', :platforms => :ruby

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
end

我怀疑社区实用程序会帮助您自动从旧版本的Rails迁移到--edge。

参考文献:

  1. How to Play with Rails 3.1, CoffeeScript and All That Jazz Right Now
  2. The Four Horsemen of Rails 3.1beta, Coffee-Script, jQuery, SCSS and Assets
  3. Rails 3.1beta deployed to Heroku from your iPhone
  4. Reversible Migrations

答案 4 :(得分:3)

我建议您更新Gemfile以使用edge rails。例如:

gem 'rails',     :git => 'git://github.com/rails/rails.git'
gem 'arel',      :git => 'git://github.com/rails/arel.git'
gem 'rack',      :git => 'git://github.com/rack/rack.git'
gem 'sprockets', :git => 'git://github.com/sstephenson/sprockets.git'

gem 'sqlite3'

# Asset template engines
gem 'sass', '~> 3.1.0.alpha'
gem 'coffee-script'
gem 'uglifier'

您可以在此处阅读更多内容http://pogodan.com/blog/2011/04/24/easy-edge-rails

答案 5 :(得分:2)

http://railscasts.com/episodes/282-upgrading-to-rails-3-1

这个railscast可能有所帮助!

答案 6 :(得分:1)

如果我理解你的问题,那就是:

gem install rails --pre

答案 7 :(得分:1)

这是一个非常好的指南,详细介绍了如何安装Rails 3.1:

http://railsapps.github.com/installing-rails-3-1.html

答案 8 :(得分:0)

使用本指南升级rails 3.0.7和3.0.9 app对我有用

http://davidjrice.co.uk/2011/05/25/how-to-upgrade-a-rails-application-to-version-3-1-0.html

如果你愿意,你可以跳过第3步和更高的步骤 - 虽然你不会利用rails 3.1中的所有新功能,但它仍然可以使用。