web-dev-qa-db-ja.com

Rails 3からRails 3.1へのアップグレード

どのようにRails 3からRails 3.1 beta?

61
user730569

これは、既存のRails 3.0.8プロジェクトを更新するときに機能しました。マイレージは異なる場合があります...

最新のリリース候補を使用するように、Gemfileで指定されているRailsバージョンを更新します。

gem 'Rails', '3.1.0.rc4’

バンドルを更新します。

bundle update

次に、rakeコマンドでプロジェクトを更新します。

rake Rails:update

変更の競合はチェリーピッキングの後、すべてのテストを実行し、合格しました(はい!)。サーバーを再起動しましたが、今のところすべてが順調です。

ただし、これはまだ新しいアセットパイプラインを使用していません。つまり、javascriptおよびcss(またはsass)ファイルはまだパイプライン前の方法で処理されているということです。私が理解しているように、これは完全に実行可能なオプションです。しかし、もちろん、私は新しい良さが欲しいので、次のステップは、gem(例:coffeescript、sass、ugliifierなど)を追加してから、古いファイルをapp/assetsディレクトリに移行することだと思います。

私はそれについていくつかの詳細をここに見つけました:

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

お役に立てば幸いです。

54
Jeff Johnston

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

28
Jon M.

Rails 3.1 へのアップグレード

見て :)

24
bor1s

Railsのアップグレード

Update:rakeがアップグレードされたため、システムrakeの使用には注意してください。

bundle exec rake

指定したRailsプロジェクト( source )に対して正しいレーキを使用していることを確認します


新しいアプリから始めて、リソースを新しいアセット/スプロケット形式にシフトしながら特定のアプリ情報をコピーすることをお勧めします。

古いRails 2.3.4アプリを3.0に変換しているときに、プロジェクト内で一度に1つのファイルを変更しているときにクラッシュして焼けました。言うまでもなく、それは欠陥のある戦略でした最終的に3.0をスキップして新しいアプリで3.1beta1に移行し、移行を正しく行ってからアプリとパブリックフォルダーをコピーしました。この移行にはいくつかの顕著な問題がありました。 Rails Edgeを新しいアプリの作成に使用しないでください(ヒントRubyInsideに感謝します)。

まず、最新のRailsを参照しやすい場所に置きます:

cd ~/goodtimes

git clonehttps://github.com/Rails/rails.git

私のパスには〜/ Desktop/Dropbox /が含まれているため、どこでもコードを使用できます。

次に、新しいアプリをビルドするためのRails exec:

~/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にデプロイする際に問題が発生しましたが、RubyRacer gemがそれをなくしてくれました。簡単な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. Rails 3.1、CoffeeScriptおよびすべてのジャズを今すぐプレイする方法
  2. Rails 3.1beta、Coffee-Script、jQuery、SCSS、およびAssets)の4つの騎手
  3. iPhoneからHerokuにデプロイされたRails 3.1ベータ版
  4. リバーシブル移行
13
Mark Essel

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

3
twmills

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

このレールキャストが役立つかもしれません!

2
1
Josh Delsman

あなたの質問を正しく理解した場合、これは次のとおりです:

gem install Rails --pre
1
abalogh

このガイドを使用してRails 3.0.7および3.0.9アプリをアップグレードするとうまくいきました

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

必要に応じて手順3以降をスキップできます。Rails 3.1。の新しい機能をすべて利用することはできませんが、機能します。

0
spnkr