2011-05-11 35 views
61

¿Cómo se actualiza de Rails 3 a Rails 3.1 beta?Actualización de Rails 3 a Rails 3.1

+0

http://everydayrails.com/2011/05/08/rails-3.1-beta-rvm.html –

+0

Di algunos ejemplos debajo @ user730569. Estoy migrando una aplicación de carriles 2.3.4 a 3.1 beta –

+0

acaba de actualizar mi aplicación de 3 a 3.1 - lo documenté [aquí] (http://webtempest.com/upgrade-rails-3-to-3-1/) – Plattsy

Respuesta

1

Si he entendido bien su pregunta esta es la forma:

gem install rails --pre 
24

Upgrade to Rails 3.1

lo miran :)

+0

¿sobrescribirá esto los proyectos de carriles antiguos? – user730569

+0

Creo que no puede actualizar proyectos antiguos, debe generar uno nuevo – bor1s

+1

Railscasts es el mejor de los mejores sitios para obtener información sobre Rails, ¡gracias a Ryan Bates! – bor1s

3

Recomiendo actualizar su Gemfile utilizar canales del borde. Por ejemplo:

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' 

Puede leer más aquí http://pogodan.com/blog/2011/04/24/easy-edge-rails.

+0

Su enlace falta un 0. Debería ser: http://pogodan.com/blog/2011/04/24/easy-edge-rails –

13

rieles Actualización

actualización: debe estar alerta a la utilización de su sistema de rastrillo, como el rastrillo se ha actualizado.

bundle exec rake 

asegura que va a utilizar el rastrillo correcta para un proyecto dado rieles (source)


Sugiero comenzar con una aplicación fresca, luego copiar su información específica aplicación al tiempo que cambia sus recursos en el nuevo formato activo/piñones.

An example

While converting an older rails 2.3.4 app to 3.0 I crashed and burned while changing one file at a time over within the project. Needless to say that was a flawed strategy, but I did learn a little along the way. I ended up skipping 3.0 and moving to 3.1beta1 with a fresh app, and copied my app and public folders in after getting the migrations right. That move had a couple of outstanding issues, the most important being that I didn’t use rails edge for creating the new app (thanks for the tip RubyInside).

First snag the latest rails into an easy to reference location:

cd ~/goodtimes

git clone https://github.com/rails/rails.git

My path includes a ~/Desktop/Dropbox/ so my code is available everywhere.

Then refer to that rails exec for building a new app:

~/goodtimes/rails/bin/rails new bacon --edge

Dependiendo de la complejidad de su base de datos, ya sea que usted desee crear nuevas migraciones utilizando la sintaxis de cambio o dejarlos ser:

class CreatePosts < ActiveRecord::Migration 
    def change 
     create_table :posts do |t| 
     t.string :title 
     t.text :body 

     t.timestamps 
     end 
    end 
    end 

tuve un problema el despliegue de Heroku, pero theRubyRacer la gema ayudó a cuadrar eso. He aquí un ejemplo de un archivo de la gema 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 

sospecho que habrá utilidades de la comunidad para ayudar a automatizar la migración desde versiones anteriores de Rails a la --edge.

Referencias:

  1. How to Play with Rails 3.1, CoffeeScript and All That Jazz Right Now
  2. The Four Horsemen of Rails 3.1beta, Coffee-Script, jQuery, SCSS and Assets
  3. Rails 3.1beta deployed to Heroku from your iPhone
  4. Reversible Migrations
28

acabo actualizado desde 3.0 a 3.1 por cambiar mi Gemfile a:

gem 'rails', '3.1.0.rc1' 
gem 'sqlite3' 
gem 'sass' 
gem 'coffee-script' 
gem 'uglifier' 

también le comenté a cabo la siguiente línea en config/ambientes/development.rb

# config.action_view.debug_rjs = true 

Por último, asegúrese de habilitar la tubería activo en config/aplicación.RB

config.assets.enabled = true 

No estoy seguro de si ya ha leído las notas de http://weblog.rubyonrails.org/2011/4/21/jquery-new-default

+1

ese fue el único que realmente respondió. el episodio de railscasts es genial, pero no dice cómo migrar. –

+3

Notaré que para 'rc5' el Gemfile se ve un poco diferente; instala 'sass-rails' y' coffee-rails', ambas versiones '3.1.0.rc1', y coloca esas gemas (junto con' uglifier') en un bloque 'group: assets do/end'. Ayuda a generar un nuevo sitio de borde de Rails en otro directorio para ver lo que agrega. –

54

Esto es lo que funcionó para mí cuando se actualiza un proyecto 3.0.8 carriles existentes. Su kilometraje puede variar ...

actualización de la versión especificada carriles en mi Gemfile utilizar la última versión candidata:

gem 'rails', '3.1.0.rc4’ 

actualización del paquete:

bundle update 

continuación, actualizar el proyecto con el rastrillo comando:

rake rails:update 

Después de la recolección de cerebritos aunque los conflictos de cambio ejecuté un Mis pruebas y pasaron (¡yay!). Reinicié el servidor y todo parece estar bien hasta ahora.

Sin embargo, esto no está utilizando la nueva canalización de activos todavía. Con eso me refiero a que los archivos javascript y css (o sass) todavía se están manejando en la forma de pre-pipeline. Según lo entiendo, esta es una opción perfectamente viable. Pero, por supuesto, quiero la nueva bondad, así que creo que los próximos pasos son incluir gemas adicionales (por ejemplo, coffeescript, sass, uglifier, etc.) y luego migrar los archivos antiguos al directorio de aplicaciones/recursos.

he encontrado algunos detalles acerca de que están aquí:

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

la esperanza de que era muy útil.

+5

Puede hacer 'bundle update rails' si solo quiere actualizar las gemas específicas de los rieles en su paquete. –

+0

¡Funcionó como un encanto! Sin embargo, cuando se ejecutan activos activados, aparece el siguiente error: 'Ninguna ruta coincide con [GET]/assets/application.css' –