2011-09-02 15 views
9

Tengo una aplicación Rails 3.0 (técnicamente 3.0.7) que me gustaría actualizar a Rails 3.1 para hacer uso de la nueva canalización de activos y otras nuevas y elegantes características. ¿Cuál es el mejor enfoque para hacer esto? ¿Debo usar el generador rails new y luego copiar todo, desde mi aplicación anterior a la nueva? ¿Qué pasa con el control de versiones? Ya tengo mi aplicación anterior usando Git.¿Cómo actualizar una aplicación Rails 3.0 a Rails 3.1?

Respuesta

10

acaba de actualizar una de mis aplicaciones de 3.0.9 a 3.1.0, aquí es mi enfoque, su kilometraje puede variar:

Editar Gemfile, cambie carriles versión joya

gem 'rails', '3.1.0' 

añade también nuevas gemas introducido en 3.1.0

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

plazo bundle update rails

Entonces ejecutar rake rails:update y resolver conflictos.

mover su css/javascript/imágenes, etc para app/assets carpeta, asegúrese de que hay un application.js y un archivo application.css (es posible que desee echar un vistazo a los dos de los proyectos de nueva creación 3.1.0)

Incluir CSS/enlaces Javascript en su archivo de diseño como esta copia

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

probablemente sería una buena idea para actualizar RVM a la última versión: 'rvm get latest' o ejecutando el script de instalación nuevamente si RVM es demasiado viejo, luego actualiza RubyGems:' gem update --system', luego actualiza bundler: 'gem install bundler' – Andrew

+1

Tuve algunos conflictos cuando corrí 'bundle update rails' así que tuve que ejecutar' bundle update' en lugar de – Andrew

+1

En cuanto al directorio de activos , Acabo de crear una aplicación ficticia 3.1 y copié la estructura del directorio de activos en mi aplicación anterior – Andrew

1

Crea una nueva sucursal en tu repositorio de Git.

Tome un vistazo a la Rails 3.1 Example Apps si está utilizando Diseñar, RSpec o pepino, ya que le dará una buena implementación de referencia de trabajo. Si no, simplemente use rails new para crear una aplicación sencilla de Rails 3.1.

Luego use una herramienta de comparación de archivos (como FileMerge o Cambios en Mac OS X) para identificar dónde difiere el código de Rails 3.1 de su aplicación 3.0.

0

este gemas a su archivo joya en sustitución del antiguo vez joya 'carriles', '3.1.0'

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

Todo lo que tiene que hacer es ejecutar rake rails:update

también puede ejecutar rake -T para ver alguna tarea fresco rastrillo que usted necesita