Blog de Antonio Manuel Muñiz

Desarrollo, Ingeniería y Calidad del Software

La agilidad de Ruby on Rails

Hacía tiempo que quería probar Ruby on Rails, por fin me he decidido a hacer algo, mi primera toma de contacto ha sido bastante satisfactoria. En principio, en comparación con Java, se necesita mucho menos para montar una aplicación simple: instalación, un par de comandos y listo. Los pasos a seguir para crear una aplicación web básica con Ruby on Rails son los siguientes:

1. Instalación de Ruby on Rails
2. Creación del esqueleto de la aplicación:

$ rails AplicacionEjemplo

3. Iniciar la aplicación en el servidor integrado de RoR (WEBrick). Muy útil durante el desarrollo.

$ script/server

Veremos la siguiente interfaz en localhost:3000

4. Es posible que exista algún tipo de problema con las versiones de cada componente instalado (especialmente en MacOS 10.4), en ese caso se mostrará la versión necesaria y la actualizamos con:

$ gem install -v=X.Y.Z ident.

5. Inicialización de la base de datos. Suponemos que se dispone de una base de datos MySQL instalada y configurada. Lo único que nos hará falta para que Ruby conecte con la base de datos es configurar el fichero config/database.yml
Configuraremos la sección development (Ruby ofrece otras dos configuraciones, test y production):


# Seccion modificada para una base de datos MySQL
development:
adapter: mysql
database: personas_development
username: root
password:
socket: /private/tmp/mysql.sock

6. Ruby genera ficheros de migración para la base de datos. Estos ficheros son clases Ruby que modelan las entidades de BD.

$ script/generate migration personas

Este comando genera la clase Ruby (db/migrate/001_personas.rb) mencionada antes, debemos completarla añadiendo la estructura de la tabla en BD:

class Personas < ActiveRecord::Migration
def self.up
create_table :personas do |table|
table.column :name, :string
table.column :dni, :string
end
end
def self.down
drop_table :accounts
end
end

7. Utilizando rake (make para Ruby) migraremos la tabla a la BD configurada:

$ rake db:migration

Antes de ejecutar el comando debemos crear la base de datos personas_development en la BD.

Rake añade un campo más a la tabla llamado id para usarlo como clave primaria.
La potencia de esta utiliadad ofrecida por RoR es importante ya que ante una migración a una bueva BD lo único que hemos de hacer es modificar el fichero de configuración database.yml y volver a ejecutar el comando. De esta forma se crearán todas las tablas necesarias en la BD.

8. Por último, y esto es lo que más me ha gustado, vamos a generar todos los elementos necesarios para que nuestra aplicación pueda crear/modificar/actualizar/eliminar ítems en la base de datos, ¡¡con un solo comando!!

$ script/generate scaffold accounts name:string dni:string

Además el código generado es totalmente fiel al patrón MVC (de hecho, crea tres carpetas una para cada capa), y legible para seres humanos (en otras ocasiones he visto código generado que deja sin palabras… y sin ganas de seguir).

9. Nada más, reiniciamos el servidor (Ctrl+C y script/server) para que conecte con la base de datos, accedemos a localhost:3000/account, y como diría Freddy: The Show Must Go On!

Una respuesta a “La agilidad de Ruby on Rails

  1. hugo 9 noviembre 2009 en 7:27 am

    solo tenés un error en el paso 7 no es rake db:migration sino lo correcto es rake db:migrate

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: