Comment passez-vous de Rails 3 à Rails 3.1 bêta?
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…
Mettez à jour la version des rails spécifiée dans mon Gemfile pour utiliser la dernière version candidate:
gem 'rails', '3.1.0.rc4'
Mettre à jour le bundle:
bundle update
Ensuite, mettez à jour le projet avec la commande rake:
rake rails:update
Après avoir choisi cerise sur le gâteau malgré les conflits, j’ai couru tous mes tests et ils sont passés (yay!). J’ai redémarré le serveur et tout semble bien aller jusqu’à présent.
Cependant, cela n’utilise pas encore le nouveau pipeline d’actifs. Je veux dire 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 bonté, donc je pense que les prochaines étapes consistent à inclure et à append des gems (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 c’était utile.
Je viens de passer de la version 3.0 à la version 3.1 en changeant mon fichier Gemfile pour:
gem 'rails', '3.1.0.rc1' gem 'sqlite3' gem 'sass' gem 'coffee-script' gem 'uglifier'
J’ai également commenté la ligne 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
Mise à niveau vers Rails 3.1
Regarde ça 🙂
Mise à jour : soyez prudent lorsque vous utilisez votre rake système, car le rake a été mis à jour.
bundle exec rake
s’assure que vous utiliserez le bon râteau pour un projet de rails donné ( source )
Je suggère de commencer par une nouvelle application, puis de copier les informations de votre application spécifique tout en déplaçant vos ressources vers le nouveau format Asset / Sprockets.
Un exemple
Lors de la conversion d’une ancienne application rails 2.3.4 en 3.0, je me suis écrasé et j’ai brûlé en changeant un fichier à la fois dans le projet. Inutile de dire que c’était une stratégie défectueuse, mais j’ai appris un peu en cours de route. J’ai fini par ignorer la version 3.0 et passer à la version 3.1beta1 avec une nouvelle application, et j’ai copié mon application et mes dossiers publics après avoir effectué les migrations. Ce mouvement a eu quelques problèmes en suspens, le plus important étant que je n’ai pas utilisé de rails edge pour créer la nouvelle application (merci RubyInside).
Accrochez d’abord les derniers rails dans un emplacement facile à référencer:
cd ~/goodtimes
git clone
https://github.com/rails/rails.git
Mon chemin comprend un ~ / Desktop / Dropbox / mon code est donc disponible partout.
Ensuite, référez-vous à ce rail exec pour créer une nouvelle application:
~/goodtimes/rails/bin/rails new bacon --edge
Selon la complexité de votre firebase database, vous souhaiterez soit créer de nouvelles migrations à l’aide de la syntaxe de modification, soit les laisser être:
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 à déployer sur Heroku, mais la gemme RubyRacer m'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 soupçonne qu'il y aura des utilitaires de communauté pour vous aider à automatiser la migration des anciennes versions de Rails vers le --edge.
Les références:
Je recommande de mettre à jour votre Gemfile pour utiliser les rails latéraux. 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 lire plus ici http://pogodan.com/blog/2011/04/24/easy-edge-rails .
http://railscasts.com/episodes/282-upgrading-to-rails-3-1
ce railcast pourrait aider!
Si j’ai bien compris votre question, voici comment:
gem install rails --pre
C’est un très bon guide qui explique en détail l’installation de Rails 3.1:
Mettre à niveau une application rails 3.0.7 et 3.0.9 en utilisant 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 tout ce qui est nouveau dans les rails 3.1.