Bueno hace bastante rato pensaba escribir un post sobre RoR, la verdad esperaba meterme mucho mas en el tema pero de a poco e ido avanzando y ya cree mi primer “Hola Mundo” ademas ya domine por completo lo que es la instalacion de ruby y por sobre todo como funciona y que es…

en las sieguientes lineas dejo un post que encontre un blog por ahi espero les sriva bastante.

¿Qué es Ruby?

Ruby es un lenguaje orientado a objetos puro, con una sintaxis super limpia que hace que programar sea elegante y divertido. En Ruby se combinan con éxito la elegancia conceptual del Smalltalk, la facilidad de uso y aprendizaje de Python y el pragmatismo de Perl. Ruby fue creado en Japon a principios de los 90, pero ha empezado a popularizarse en todo el mundo en los últimos años según han ido apareciendo más libros y documentación en inglés

¿Qué es Rails?

Rails es un framework de código abierto para Ruby que sirve para desarrollar aplicaciones web que acceden a bases de datos. ¿Qué tiene esto de especial? Hay docenas de frameworks por ahí, y la mayoría existen desde hace más tiempo que Rails. ¿Por qué molestarse en aprender otro framework una vez más?

Bien, ¿qué dirías si te contase que puedes desarrollar un aplicación web al menos diez veces más deprisa con Rails que lo que tardarías con un framework típico en Java? Y puedes hacerlo sin sacrificar la calidad de tu aplicación. ¿Cómo es posible?

Parte de la respuesta está en el lenguaje de programación Ruby. Hay muchas cosas que son sencillas de hacer en Ruby pero que ni tan siquiera pueden hacerse en otros lenguajes, y Rails saca partido de esto. El resto de la respuesta reside en los dos principios en que se basa Rails: menos software y convención sobre configuración

Menos software quiere decir que se escriben menos lineas de código para implementar la aplicación. Si el código es pequeño quiere decir que el desarrollo es más rápido y con menos errores, lo que hará que el código sea fácil de entender, mantener y mejorar. En breve veremos cómo Rails pone nuestro código a dieta.

Convención sobre configuración significa que le decimos adiós a esos prolijos ficheros de configuración en XML. ¡En Rails, simplemente, no existen! En lugar de archivos de configuración, una aplicación Rails utiliza una serie de convenciones simples que le permiten avergiuarlo todo mediante reflexión y descubrimiento. El código de tu aplicación y la base de datos que tienes ¡ya contienen todo lo que Rails necesita saber!

Ver es creer

A menudo oímos, como desarrolladores, las exageraciones que se dicen de los productos nuevos. Lo sé, puedo imaginarme esa mirada escéptica que has puesto cuando has leido mis atrevidas afirmaciones. Sí, claro, diez veces más deprisa… ¡seguro!

No pretendo que aceptes esto con la fé del carbonero: te mostraré como comprobarlo por tí mismo. Primero instalaremos el software necesario, y luego continuaremos con el desarrollo de una aplicación web.

Instalación del Software

Vamos a desarrollar esta aplicación web sobre Windows. También puedes seguir el tutorial si usas un sistema Linux o Mac, pero la pantalla será algo diferente de las capturas que se muestran a continuación. Además, tendrás que instalar paquetes desarrollados específicamente para tu sistema. Mira en el apartado Recursos al final de este artículo donde se encuentran enlaces de interés.

Para desarrollar esta aplicación web, necesitamos instalar lo siguiente:

  • Ruby
  • El framework Rails

Paso 1: Instalación de Ruby

La instalación de Ruby no puede ser más simple:

  1. Desacarga el último paquete instalador de Ruby para Windows (se muestra en la figura 1). En el momento de escribir este artículo, la última versión es ruby184-16.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.

Nota para usuarios de Linux y OS X: El instalador de Windows viene con el gestor de paquetes RubyGems ya instalado. Probablemente te haga falta instalarte RubyGems aparte.

Paso 2: Instalar Rails

A continuación podemos usar el gestor de paquetes RubyGems para descargar e instalar la última versión de Rails, como se muestra en la figura 2:

  1. Abre una ventana de terminal y ejecuta el comando gem install rails --remote.
  2. RubyGems instalará además todas las librerías de las que depende Rails. Para cada una de ellas, RubyGems preguntará si quieres instalarla. Responde “y” (yes) a todas.

Vamos a escribir código

Crearemos un libro de recetas online para poder guardar y compartir las recetas favoritas de todos nosotros. Queremos que nuestro libro de recetas haga lo siguiente:

  • Mostrar una lista de todas las recetas.
  • Crear nuevas recetas y editar las ya existentes.
  • Asignar una receta a una categoría (por ejemplo «postre» o «sopa»).

Puedes crear tu aplicación en el directorio que quieras, nosotros hemos usado c:\rails\recetario. Todos los nombres de directorio y paths que aparecen en este artículo asumen que la aplicación se ha instalado ahí. Si escoges instalarlo todo en otro directorio, ten en cuenta que debes hacer los ajustes necesarios cuando veas directorios de aplicación en el artículo.

También puedes descargar el código del ejemplo completo y seguirlo con nosotros. Si lo haces, busca en el directorio cookbook/db/ un archivo que puedes usar para reconstruir la base de datos. [N. del T: Si te descargas el código de la aplicación del sitio de OnLamp, ten en cuenta que el código y los esquemas de la base de datos estarán en inglés. Te recomiendo que sigas el artículo paso a paso.]

Creación de una aplicación Rails vacía

Rails es un framework de aplicaciones web que funciona en tiempo de ejecución pero además es una serie de scripts de ayuda que automatizan muchas de las tareas que hay que hacer cuando se desarrolla una aplicación web. En este paso, vamos a usar uno de estos scripts para crear toda la estructura de directorios y el conjunto inicial de ficheros para comenzar con nuestra aplicación de recetas.

  1. Abre una ventana de terminal y navega hasta donde quieres que resida tu aplicación. Nosotros hemos usado c:\rails.
  2. Ejecuta el comando:
    rails recetario

    Se creará un directorio recetario que contiene todo el árbol de carpetas y archivos que conforman una aplicación Rails vacía.

Una aplicación Rails puede ser desplegada prácticamente en cualquier servidor web, pero durante el desarrollo de la aplicación lo más conveniente es usar el servidor WEBrick, que viene incorporado en Rails. Vamos a arrancar este servidor web y vamos a visitar nuestra aplicación.

  • En la ventana de comandos que ya tienes abierta ve hasta el directorio del recetario.
  • Ejecuta el siguiente comando:
    ruby scriptserver

    para arrancar el servidor (figura 7)

  • Ahora abre tu navegador favorito y visita http://127.0.0.1:3000/. Deberías ver algo parecido a la Figura 8. [Nota del Editor: si no estás siguiendo paso a paso este artículo, estos enlaces probablemente no funcionarán. 127.0.0.1 es una dirección especial reservada para la máquina local]

No cierres la ventana del intérprete de comandos que contiene al servidor web ejecutándose, pues lo vamos a utilizar según vayamos avanzado

Estructura de directorios de una aplicación Rails

Rail trata por todos los medios de minimizar el número de decisiones que tienes que tomar así como de eliminar el trabajo innecesario. Cuando usaste el script de ayuda rails para crear el esqueleto de la aplicación, Rails creó toda la estructura de directorios de la figura 9. Rails sabe dónde encontrar todo lo que necesita dentro de esta estructura de forma que luego no tengas que decírselo. Recuerda, ¡no hay archivos de configuración por ningún sitio!

El grueso de nuestro trabajo como desarrolladores consistirá en crear y editar archivos en los subdirectorios de c:\rails\recetario\app.

  • controllers es donde Rails espera encontrar las clases de nuestros controladores. La misión del controlador es manejar una petición web recibida desde el navegador, es decir, del usuario.
  • views contiene las plantillas de visualización que se rellenarán con datos de nuestra aplicación, serán convertidas a HTML y devueltas al navegador del usuario.
  • models contiene las clases que modelan los datos almacenados en la base de datos de nuestra aplicación. En la mayoría de los frameworks esta parte de la aplicación puede acabar bastante embrollada, prolija, tediosa… ¡pero Rails lo hace todo tremendamente simple!
  • Por último, en helpers se guardan las clases de ayuda que se usan para asistir a las clases de modelos, vistas y controladores. Esto ayuda a que dichas clases se mantengan sin crecer de tamaño, dedicadas y ordenadas.

URLs y controladores

Dentro de un momento crearemos nuestra base de datos y empezaremos a desarrollar nuestra aplicación. En primer lugar, es importante entender cómo funcionan los controladores en Rails y cómo se mapean las URLs a métodos de los controladores.

Las clases de los controladores gestionan las peticiones web del usuario. La URL de la petición se mapea a una clase controlador y un método de esa clase. ¿Cómo funciona todo esto?

Deja abierta la ventana de comandos con el servidor web ejecutándose. Abre una segunda ventana de comandos y colocate en el directorio base de la aplicación c:\rails\recetario. Tendrá el aspecto de la figura 10 dentro de un momento.

Vamos a usar otro script de ayuda de Rails para crearnos una nueva clase controladora. En la ventana de terminal, ejecuta el comando:

ruby scriptgenerate controller MiPrueba

Se creará un archivo llamado mi_prueba_controller.rb que contendrá el esqueleto de una clase MiPruebaController.

En el directorio c:\rails\recetario\controllers haz clic con el botón derecho del ratón y edita este archivo

¿Y qué es lo que pasa cuando uno visita algo que sabemos que no existe? Compruébalo: http://127.0.0.1:3000/basura/

No es muy sorprendente. Ahora intenta abrir http://127.0.0.1:3000/Mi_Prueba/

Vaya, esto es otra cosa. La parte de la URL Mi_Prueba se mapea al nuevo controlador recién creado. Pero esta vez parece como si Rails hubiera tratado sin éxito de localizar una acción llamada index.

Vamos a arreglarlo. Añade un método index a la clase del controlador

Refresca la vista del navegador

También obtendremos el mismo resultado abriendo http://127.0.0.1:3000/Mi_Prueba/index

Ahora añadamos otra acción al controlador: el método dilbert

Visitemos http://127.0.0.1:3000/Mi_Prueba/dilbert

bueno, espero les sirva bastante y empieze a hacerse mas masivo el tema de Ruby On Rails

en un proximo post explicare la conexion y creacion de la BD