9 votes

Comment mettre à jour une application Rails 3.0 vers Rails 3.1 ?

J'ai une application Rails 3.0 (techniquement 3.0.7) que j'aimerais mettre à jour vers Rails 3.1 pour utiliser le nouveau pipeline d'actifs et d'autres nouvelles fonctionnalités fantaisistes. Quelle est la meilleure approche pour y parvenir ? Dois-je utiliser le rails new puis de copier tout ce qui se trouve dans mon ancienne application dans la nouvelle ? Qu'en est-il du contrôle de version ? Mon ancienne application utilise déjà Git.

10voto

Forrest Ye Points 777

Je viens de mettre à jour une de mes applications de 3.0.9 à 3.1.0, voici mon approche, votre kilométrage peut varier :

Modifier le fichier Gemfile, changer la version de Rails gem

gem 'rails', '3.1.0'

Ajoute également les nouvelles gemmes introduites dans la version 3.1.0

group :assets do
  gem 'sass-rails', "~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end
gem 'jquery-rails'

courir bundle update rails

Exécutez ensuite rake rails:update et résoudre les conflits.

Déplacez vos css/javascript/images etc. vers app/assets assurez-vous qu'il y a un dossier application.js et un application.css (vous voudrez peut-être jeter un coup d'œil à ces deux fichiers dans les projets 3.1.0 nouvellement créés)

Incluez des liens css/javascript dans votre fichier de mise en page comme suit

<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>

1voto

daniel Points 5467

Se familiariser avec rails 3.1, voici les ressources : http://jasonrudolph.com/blog/2011/06/06/helpful-resources-for-upgrading-to-rails-3-1/

La chose la plus importante est votre test actuel, assurez-vous que vous avez une bonne couverture de test de votre application 3.0 avant de commencer.

1voto

Daniel Kehoe Points 4296

Créez une nouvelle branche dans votre dépôt Git.

Jetez un coup d'œil à la Exemples d'applications Rails 3.1 si vous utilisez Devise, RSpec ou Cucumber car ils vous fourniront une bonne implémentation de référence. Si ce n'est pas le cas, utilisez simplement rails new pour créer une application Rails 3.1 simple.

Utilisez ensuite un outil de comparaison de fichiers (tel que FileMerge ou Changes sur Mac OS X) pour identifier les différences entre le code Rails 3.1 et votre application 3.0.

0voto

Rob Points 2362

Je viens de le faire aujourd'hui avec une application de la version 3.0.9. Jetez un coup d'œil à ce blog, c'est assez simple.

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

Il s'agit juste de changer le fichier gem, quelques variables de configuration, de déplacer quelques assets et de créer quelques fichiers manifestes css et js, ce qui ne devrait pas prendre plus d'une heure.

0voto

Uchenna Okafor Points 1557

Copier cette gemme dans votre fichier gem en remplaçant l'ancienne par la suivante gem 'rails', '3.1.0'

group :assets do
  gem 'sass-rails', "~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

Il vous suffit de lancer rake rails:update

vous pouvez également exécuter rake -T pour voir quelques tâches de ratissage cool dont vous auriez besoin

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X