Comment passer de Rails 3 à Rails 3.1 beta)?
C'est ce qui a fonctionné pour moi lors de la mise à jour d'un projet Rails 3.0.8 existant. Votre kilométrage peut varier ...
Mettre à jour la version Rails spécifiée dans mon Gemfile pour utiliser la dernière version candidate:
gem 'Rails', '3.1.0.rc4’
Mettez à jour le bundle:
bundle update
Mettez ensuite à jour le projet avec la commande rake:
rake Rails:update
Après avoir choisi les cerises si le changement était en conflit, j'ai exécuté tous mes tests et ils ont réussi (ouais!). J'ai redémarré le serveur et tout semble bien pour l'instant.
Cependant, cela n'utilise pas encore le nouveau pipeline d'actifs. J'entends par là que les fichiers javascript et css (ou sass) sont toujours traités de la manière pré-pipeline. Si je comprends bien, c'est une option parfaitement viable. Mais bien sûr, je veux la nouvelle qualité, donc je crois que les prochaines étapes consistent à inclure et des gemmes supplémentaires (par exemple coffeescript, sass, uglifier, etc.) puis à migrer les anciens fichiers vers le répertoire app/assets.
J'ai trouvé quelques détails à ce sujet ici:
http://blog.nodeta.com/2011/06/14/Rails-3-1-asset-pipeline-in-the-real-world/
J'espère que cela vous a été utile.
Je viens de passer de 3.0 à 3.1 en changeant mon Gemfile en:
gem 'Rails', '3.1.0.rc1'
gem 'sqlite3'
gem 'sass'
gem 'coffee-script'
gem 'uglifier'
J'ai également commenté la ligne suivante ci-dessous dans config/environnements/development.rb
# config.action_view.debug_rjs = true
Enfin, assurez-vous d'activer le pipeline d'actifs dans config/application.rb
config.assets.enabled = true
Je ne sais pas si vous avez déjà lu les notes de version http://weblog.rubyonrails.org/2011/4/21/jquery-new-default
Mettre à niveau vers Rails 3.1
regarde ça :)
Mise à jour : soyez prudent en utilisant votre râteau système, car le râteau a été mis à jour.
bundle exec rake
garantit que vous utiliserez le râteau correct pour un projet Rails project ( source )
Je suggère de commencer avec une nouvelle application, puis de copier les informations de votre application spécifique tout en déplaçant vos ressources dans le nouveau format d'actif/sprockets.
Un exemple
Lors de la conversion d'une ancienne application Rails 2.3.4 en 3.0, je me suis écrasé et gravé en changeant un fichier à la fois dans le projet. Inutile de dire que c'était une stratégie défectueuse, mais j'ai appris une J'ai fini par sauter 3.0 et passer à 3.1beta1 avec une nouvelle application, et j'ai copié mon application et mes dossiers publics après avoir effectué les bonnes migrations. Cette décision avait quelques problèmes en suspens, le plus important étant que je ne l'ai pas fait n'utilisez pas Rails Edge pour créer la nouvelle application (merci pour l'astuce RubyInside).
Accrochez d'abord le dernier Rails dans un emplacement facile à référencer:
cd ~/goodtimes
git clone
https://github.com/Rails/rails.git
Mon chemin comprend un ~/Desktop/Dropbox/donc mon code est disponible partout.
Référez-vous ensuite à cela Rails exec pour construire une nouvelle application:
~/goodtimes/Rails/bin/Rails new bacon --Edge
Selon la complexité de votre base de données, vous souhaiterez soit créer de nouvelles migrations à l'aide de la syntaxe de changement, soit les laisser:
class CreatePosts < ActiveRecord::Migration def change create_table :posts do |t| t.string :title t.text :body t.timestamps end end end
J'ai eu un problème de déploiement sur Heroku, mais la gemme RubyRacer a aidé à résoudre ce problème. Voici un exemple de fichier Gem simple:
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
Je pense qu'il y aura des utilitaires de communauté pour vous aider à automatiser la migration des anciennes versions de Rails vers --Edge.
Les références:
Je recommande de mettre à jour votre Gemfile pour utiliser Edge Rails. Par exemple:
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'
Vous pouvez en savoir plus ici http://pogodan.com/blog/2011/04/24/easy-Edge-Rails .
http://railscasts.com/episodes/282-upgrading-to-Rails-3-1
cette diffusion sur rail pourrait aider!
Ceci est un très bon guide qui explique en détail l'installation de Rails 3.1:
Si j'ai bien compris votre question, voici comment:
gem install Rails --pre
Mettre à niveau une application Rails 3.0.7 et 3.0.9 à l'aide de ce guide a fonctionné pour moi
http://davidjrice.co.uk/2011/05/25/how-to-upgrade-a-Rails-application-to-version-3-1-0.html
Vous pouvez ignorer les étapes 3 et supérieures si vous le souhaitez - cela fonctionnera toujours, bien que vous ne profitiez pas de toutes les nouveautés de Rails 3.1.