Atica On Rails
Seminario sobre Ruby On Rails para el personal del Área de
Tecnologías de la Información y las Comunicaciones Aplicadas
de la Universidad de Murcia
BETA v0.1
(vamos. . . , aún sin terminar)
Juan José Vidal Agustín
<
[email protected]>
Área de Tecnologías de la Información y las Comunicaciones Aplicadas
UNIVERSIDAD DE MURCIA
03 de Diciembre de 2007
Resumen
Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de
código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura
Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar
aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo
de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails
hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se
distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de librerías
y aplicaciones Ruby.
Índice general
1. Instalación
1.1. UNIX y GNU/Linux . . . . . .
1.2. Apple MacOS X . . . . . . . . .
1.3. Microsoft Windows . . . . . .
. . .
. . .
. .
. . .
. . . .
. .
1.3.1. Componente a componente . . . . .
1.3.2.
InstantRails . . . . . .
IDEs de desarrollo . . . . . .
1.4.
1.5. Actualización de Ruby On Rails . . . .
. . . .
. . . .
. .
. .
. .
. .
. . . .
. . .
. .
. . .
.
. . .
.
.
. . . . .
. . .
. . .
. . .
. .
. . . .
. . .
. . . .
. . . .
. .
.
. .
.
.
. . .
. .
. . . . . . .
. . . .
. . . . . . .
. . . . . . .
. .
.
. . . .
. .
.
. . .
.
. . .
. . .
. . .
.
. . . . .
. . . .
.
. . . .
.
.
. . . .
. . . . .
. . . . .
. .
. . . .
.
. . . .
. .
. . . .
. . .
. . .
. . .
. . .
2. Ruby On Rails
2.1. Arquitectura de una aplicación Rails . . . . .
2.2. Generando el proyecto . . . .
. . . .
. .
. . . .
. .
. . .
. . .
2.2.1. Explicación de la estructura . . . . .
2.2.2. Probando el proyecto . . . . .
. . .
2.3. Creando la base de datos . . . . . .
. . .
2.3.1. Configuración base de datos . . . . .
2.3.2. Bases de datos soportadas
. . . . .
2.4. Creando el modelo . . . . . .
. . . .
. .
2.4.1. Cómo se nombran las cosas
. . .
2.4.2. Migraciones en Rails . . . . .
. . . .
. .
. . . . . .
2.5.1. Creando las vistas
. . . .
. .
2.5. Creando el controlador
. . . . .
. . .
. . . .
. . .
. . .
. .
. .
. . . .
. .
. . . .
. . .
. .
. .
. . . .
. . . .
.
. . . .
. .
.
. . . .
. .
. . . .
.
. .
. . . .
. . .
. . .
. . .
. . . .
. .
. . .
. . .
. . .
. . .
.
. . .
. . .
. . . .
. . .
. .
. .
.
. .
. . . .
. . . .
. . . .
. . . . . . .
. .
. . . .
. . . .
. .
.
. .
. .
. .
. . .
.
. . . .
. . . .
. .
. . . .
. . . .
.
. . . .
.
. . . .
. . . .
.
. . . .
. . . .
.
. . . .
. . . . .
.
. . . .
. . . .
.
. . . .
.
. .
. . . .
. . .
. . .
.
. . . .
.
. . .
. . . .
. . .
.
. . .
. .
.
. . . .
.
. . . .
. . .
. . . .
. . .
.
. . .
.
. . . . .
.
. . .
2.6. Añadiendo estilo . . . . . . . . .
. . .
. .
. . .
. .
. . . .
.
3. Rails un poco más avanzado, pero poco poco más. . .
. .
. . .
3.1. Validaciones de datos . . . . . .
3.1.1. Crear nuevas validaciones
. .
. . . .
. .
. . . .
3.2. Callbacks . . . . . . . . . . .
3.3. Relaciones entre tablas . . . .
3.4. Herencia . . . . . . . . . . .
3.5. Rutas
. . .
. . . . .
. . . .
. .
. . . .
. .
. . . . . . . . . . .
. .
. . . .
. . . .
. . .
. . .
. .
.
. . .
. .
. .
. . . .
. .
. . . .
. .
. . . .
. . .
.
. . . .
. .
. . . .
.
. . . .
. .
.
. . . .
. . . . .
. .
. . . .
. .
. . . .
.
. . . .
.
. . . . .
. . .
. . .
. . .
. . .
. .
. . .
. . . .
. . .
. . . .
.
. . .
. . . .
.
. . .
. .
.
. .
. . .
.
. .
. .
4. Utilizando plugins y engines
1
3
3
4
4
4
7
9
9
10
11
12
13
13
14
15
16
17
17
18
21
21
21
23
23
27
27
28
29
29
30
SeminarioRubyOnRails
5. Material adicional
5.1. Enlaces de interés . . . . . . . . .
. .
5.1.1. Screencasts/Podcasts . . . . .
. . .
5.1.2. Lista de opciones de Rake . . . . .
. . .
. . .
. . .
. . .
. .
. .
. . .
Página2
. . . .
. . . .
.
. .
. . . .
. . .
. . . .
.
. .
. . . .
. .
. . . .
.
. . .
. . . .
. . .
.
.
. . .
.
. . . .
31
31
32
32
ATICA - Universidad de Murcia
SOFTLA::Software Libre y Abierto
Capítulo 1
Instalación
1.1. UNIX y GNU/Linux
1. Muchas distribuciones de UNIX y GNU/Linux ya vienen con Ruby instalado. Necesitaremos una
versión de Ruby igual o superior a la 1.8.2. Podemos verificar la versión que tenemos instalada a
través de la terminal, ejecutando el comando ruby -v. En caso de tenerlo instalado, pasaremos
al paso 3 de esta lista.
2. Lo más normal hoy, es que la distribución de GNU/Linux que tengamos instalada lleve un sistema
de gestión de paquetes, como podría ser yum o apt. En este caso simplemente tendríamos que
instalar Ruby desde un terminal a través de estos programas (p.e.: apt-get install ruby).
En caso contrario tendremos que instalar Ruby desde el código fuente:
juanjo> tar xzf ruby-x.y.z.tar.gz
juanjo> cd ruby-x.y.z
ruby-x.y.z> ./configure
ruby-x.y.z> make
ruby-x.y.z> make test
ruby-x.y.z> sudo make install
Password: <enter your password>
3. A continuación instalaremos RubyGems (http://rubygems.rubyforge.org). Lo descargaremos y rea-
lizaremos las siguientes acciones desde un terminal:
juanjo> tar xzf rubygems-0.9.5.tar.gz
juanjo> cd rubygems-0.9.5
rubygems-0.9.5> sudo ruby setup.rb
Password: <enter your password>
4. Ahora utilizaremos RubyGems para instalar Ruby On Rails. Desde el mismo terminal ejecutaremos
el siguiente comando:
sudo gem install rails --include-dependencies --remote
3
SeminarioRubyOnRails
1.2. Apple MacOS X
Página4
1. Apple MacOS X ya viene con Ruby instalado de serie. Podemos verificar la versión que tene-
mos instaladas a través de la terminal, ejecutando el comando ruby -v. En caso de no tenerlo
instalado, podemos utilizar las instrucciones para hacerlo en GNU/Linux.
2. A continuación instalaremos RubyGems (http://rubygems.rubyforge.org). Lo descargaremos y rea-
lizaremos las siguientes acciones desde un terminal:
juanjo> tar xzf rubygems-0.9.5.tar.gz
juanjo> cd rubygems-0.9.5
rubygems-0.9.5> sudo ruby setup.rb
Password: <enter your password>
3. Ahora utilizaremos RubyGems para instalar Ruby On Rails. Desde el mismo terminal ejecutaremos
el siguiente comando:
sudo gem install rails --include-dependencies --remote
1.3. Microsoft Windows
Podemos instalar el framework de diversas formas para su correcto funcionamiento en Microsoft
Windows:
1.3.1. Componente a componente
Para empezar a trabajar con Ruby On Rails de forma básica, al menos necesitamos los siguientes
componentes:
Ruby
RubyGems
El framework Ruby On Rails
Instalación de Ruby
La instalación de Ruby no puede ser más simple:
1. Descarga el último paquete instalador de Ruby para Windows (http://rubyinstaller.rubyforge.org).
En el momento de escribir este artículo, la última versión es ruby186-26_rc2.exe).
2. Haz doble clic en el ejecutable que has descargado y sigue las instrucciones del instalador. A no
ser que tengas requisitos especiales, simplemente pulsa Enter para aceptar todas las opciones por
defecto.
ATICA - Universidad de Murcia
SOFTLA::Software Libre y Abierto
SeminarioRubyOnRails
Página5
3. Para comprobar que todo ha ido bien, desde la consola de comandos de Windows
(Inicio > Ejecutar > cmd) tecleamos lo siguiente: ruby --version
4. Si
todo ha ido bien, nos tendrá que aparecer algo parecido a esto en la consola:
ruby 1.8.6 (2007-12-04) [i386-mswin32] Con este comando podremos conocer
qué versión de ruby tenemos instalada en nuestra máquina.
Nota: El
de Windows
(http://rubygems.rubyforge.org/) ya instalado.
instalador
viene
con
el
gestor
de
paquetes RubyGems
Instalación de Ruby On Rails
Para instalar Rails, desde la consola escribimos lo siguiente:
ATICA - Universidad de Murcia
SOFTLA::Software Libre y Abierto
SeminarioRubyOnRails
Página6
gem install rails --include-dependencies --remote
Esto descargará unos paquetes desde Internet y los instalará. Una vez finalizado. Nos creamos un
directorio para almacenar la Aplicación Web. Por ejemplo: C:\railsapps
Desde linea de comandos escribimos cd C:\railsapps para situarnos en el directorio y luego
escribimos rails ./proyecto1. Con eso, se nos crea un sitio Web en una carpeta llamada proyecto1 dentro
de C:\railsapps.
Por
último,
nos
colocamos
en
la
carpeta
de
proyecto1
escribiendo
cd C:\railsapps\proyecto1 y escribimos lo siguiente:
ruby script/server
Ya solo queda ir al navegador y escribir la siguiente dirección: http://localhost:3000
Si todo ha ido bien, tendremos que ver una pantalla como esta:
ATICA - Universidad de Murcia
SOFTLA::Software Libre y Abierto
SeminarioRubyOnRails
Página7
1.3.2.
InstantRails
InstantRails (http://instantrails.rubyforge.org/) es una solución sencilla para poner a funcionar Ruby
y Rails en nuestro Microsoft Windows. Sin afectar al resto de programas que podamos tener ya instala-
dos, instala Ruby, Ruby On Rails Apache, MySQL y PHPMyAdmin, todo ello en un solo directorio.
ATICA - Universidad de Murcia
SOFTLA::Software Libre y Abierto
SeminarioRubyOnRails
Página8
Pasos a seguir
1. Nos descargamos el zip desde http://instantrails.rubyforge.org
2. Descomprimimos el fichero en una carpeta (que no contenga espacios)
3. Ejecutamos InstantRails.exe
4. Una vez instalado, arrancarán los servidores Apache y MySQL: Si aparece algún mensaje de error,
revisa la causa. Por ejemplo, no arranca el servidor MySQL porqué ya se está ejecutando.
5. En la barra de tareas te aparecerá un icono (una I mayúscula roja con una lucecita parpadeante) a
través del cual podrás acceder a la configuración.
Enlaces de interés
Instalar Ruby On Rails en Microsoft Windows XP con Apache
http://ubertinodacasale.wordpress.com/2007/04/05/instalar-ruby-en-apache-bajo-windows-xp/
Comentarios de: Atica On Rails (0)
No hay comentarios