pág. 1 
INSTITUTO TECNOLOGICO DE TEHUACAN 
ING. SISTEMAS COMPUTACIONALES 
PROGRAMACIÓN WEB 
FRAMEWORK 
RUBY ON THE RAILS
pág. 2 
RUBY ON THE RAILS 
Introducción1 
Ruby on Rails es un entorno de desarrollo web de código abierto que está optimizado para la satisfacción de los programadores y para la productividad sostenible. Te permite escribir un buen código evitando que te repitas y favoreciendo la convención antes que la configuración. 
¿Qúe es Rails? 
Rails es un armazón para construir aplicaciones web que acceden a bases de datos. 
¿Un arma-qué? 
Un conjunto de librerías, automatismos y convenciones destinados a resolver los problemas más comunes a la hora de desarrollar una aplicación web, para que el programador pueda concentrarse en los aspectos únicos y diferenciales de su proyecto en lugar de en los problemas recurrentes. 
¿Para qué se utiliza? 
Para ayudar a construir aplicaciones modernas de internet como: Twitter, Scribd, Hulu, Xing, Soundcloud, Basecamp, Github… 
¿De donde sale? 
Rails fue creado en 2003 por David Heinemeier Hansson y desde entonces ha sido extendido por el Rails core team, más de 2.100 colaboradores y soportado por una extensa y activa comunidad. 
¿Qué necesito saber para empezar a trabajar con Rails? 
Vídeos 
Rails salto a la fama por un vídeo llamado «Un Blog en 15 minutos» en el que su creador David Heinenmeyer Hanson explicaba algunas de las funcionalidades distintivas. Hoy día puedes empezar a familiarizarte con Rails viendo alguno de estos vídeos demostrativos (Screencasts). 
Guías 
Conoce el funcionamiento de cada aspecto en las Guías de Rails. 
Tutoriales 
Podéis seguir el afamado Rails Tutorial o el originalísimo Rails for Zombies. 
1 (Rubyonrails)
pág. 3 
Cursos presenciales 
Introducción a Ruby on Rails (Madrid 4-15 noviembre 2013). 
Cursos online 
Si prefieres estudiar desde casa apúntate a Aprende Rails 
Instalación 
En general, instalar Rails es tan sencillo como gem install rails, pero primero hay que tener el lenguaje Ruby y el gestor de librerías Rubygems en el sistema, lo que varía un poco de una plataforma a otra: 
GNU/Linux 
Linux es un entorno habitual para servidores, con lo que muchos desarrolladores lo escogen minimizando así las diferencias entre el entorno de desarrollo y el de producción. 
RVM 
Evita administrar Ruby, RubyGems y demás con el gestor de paquetes de tu distribución ya que estos suelen estar desactualizados. En su lugar, puedes emplear "RVM". 
RVM te permite instalar y mantener varias versiones de ruby a la vez. Puedes encontrar más información sobre Ruby Version Mananger (RVM) en http://rvm.io 
Prerequisitos de RVM: 
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g 
zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt- dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config 
Este comando puede variar entre versiones y distribuciones, está probado en Ubuntu 13.04, consulta la documentación de la web de RVM y de tu distribución. 
Instala RVM: 
curl -L https://get.rvm.io | bash -s stable --autolibs=enabled source $HOME/.rvm/scripts/rvm
pág. 4 
Instala ruby 
rvm install ruby-2.0.0 
Comprueba los comandos: rvm, ruby, irb, gem 
$ rvm list 
rvm rubies 
=* ruby-2.0.0-p247 [ x86_64 ] 
# => - current 
# =* - current && default 
# * - default 
$ gem -v 
2.0.3 $ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] 
$ irb 
2.0.0-p247 :001 > puts 'Hola' 
Hola 
=> nil 
2.0.0-p247 :002 > quit 
$ gem install rails 
Para instalar una versión concreta de Rails, en lugar del último comando podemos poner: 
gem install rails -v=4.0 
OSX 
Mac OS es una plataforma muy popular entre desarrolladores Rails. Para configurar el entorno de desarrollo necesitarás los siguientes componentes: 
Command Line Tools for XCode 
 Crea un Apple ID accede con el tuyo si ya lo tienes. 
Registrate con la misma ID que usas para otros servicios de Apple como iTunes, iCloud, etc… 
 Accede al Apple Developer Portal 
 Busca "Command Line Tools (OS X Lion) for Xcode" o "Command Line Tools (OS X Mountain Lion) for Xcode" 
 Descarga e instala el paquete 
Homebrew 
Homebrew es un sistema de gestión de paquetes que hace muy fácil instalar centenares de proyectos de fuente abierta y compilarlos desde las fuentes para optimizar su rendimiento en tu máquina. 
$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
pág. 5 
==> This script will install: 
/usr/local/bin/brew 
/usr/local/Library/... 
/usr/local/share/man/man1/brew.1 
Press ENTER to continue or any other key to abort 
Git 
Git es el sistema de control de versiones más popular en la comunidad Ruby. 
$ brew install git 
==> Downloading http://git-core.googlecode.com/files/git-1.8.1.1.tar.gz ########################################################### 100.0% 
RVM 
RVM te permite instalar y mantener varias versiones de ruby a la vez. Puedes encontrar más información sobre Ruby Version Mananger (RVM) en http://rvm.io 
$ bash -s stable < <(curl -L https://get.rvm.io ) 
source ~/.bash_profile 
$ rvm install 1.9.3 --with-gcc=clang 
Searching for binary rubies, this might take some time. 
No binary rubies available for: osx/10.8/x86_64/ruby-1.9.3-p374. Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies. 
Installing Ruby from source to: /Users/burtlo/.rvm/rubies/ruby-1.9.3-p374, this may take a while depending on your cpu(s)... 
ruby-1.9.3-p374 - #downloading ruby-1.9.3-p374, this may take a while depending on your connection... ############################################################### ######### 100.0% 
rvm use 1.9.3 --default 
$ gem install rails 
Microsoft Windows 
Iniciarse en Rails sobre Windows es relativamente fácil gracias a los esfuerzos de Engine Yard (http://engineyard.com) que han desarrollado RailsInstaller (http://railsinstaller.org/), un instalador en un sólo paquete de todas las herramientas que necesitas para ponerte a trabajar, incluido Rails. 
Asegurate de que durante la configuración seleccionas la casilla correspondiente a las variables de entorno. Puedes detenerte tras el paso 2 después de haber introducido tu nombre y correo electrónico.
pág. 6 
Más allá de la instalación, sin embargo todo empieza a complicarse. Según vayas utilizando más Gemas (que es como se llama en Ruby a las librerías) y otras dependencias descubrirás que muchas utilizan extensiones nativas escritas en Lenguaje C para mayor rendimiento, y salvo que los autores de esas gemas hayan puesto un especial empeño en ser multiplataforma desencadenarán complicaciones. 
Si hay alguna posibilidad de que evites tener que usar Windows como entorno de desarrollo, hazlo. Como alternativa, considera configurar una máquina virtual con Virtual Box (http://www.virtualbox.org/) y utiliza Ubuntu Linux (http://www.ubuntu.com/download/ubuntu/download) en su lugar. 
Mi primera App en RoR2 
rails new MiPrimerApp 
Esto nos puede tomar unos segundos para que genere todos los archivos necesarios para nuestra aplicación. 
2 (HTML5FACIL, 2013)
pág. 7 
Una vez listo abrimos nuestro editor de texto (sugiero usar Sublime Text 2) para examinar todas las carpetas y archivos que nos ha creado Rails, esto con el de darnos una idea de cómo es lajerarquía de los ficheros, archivos y/o carpetas que maneja RoR en nuestras aplicaciones. 
Volvemos a la Consola y tecleamos lo siguiente: 
rails s 
O también podemos escribir el comando así: 
rails server
pág. 8 
Lo que hará este comando así de sencillo será cargar nuestra aplicación para poder visualizarla en el navegador, generalmente la carga en el puerto 3000 de nuestro localhost, Ejemplo: 
localhost:3000 
Una vez visualizada la aplicación en el navegador nos podremos dar cuenta que por defectoRails genero una vista con la portada de RoR, en donde nos indica que esta vista o archivo debe ser borrada y reemplazada por la vista index del controlador welcome. 
Muy bien ahora regresamos de nuevo a la consola y nos salimos del servidor mediante la combinación de teclas Ctrl+C. 
Después tecleamos lo siguiente: 
rails g controller welcome index 
Lo que hará este comando es crearnos el Controlador “Welcome” con la Vista “Index”. 
Una vez creados los ficheros, procedemos a borrar el archivo index.html en la Carpeta /Publicde nuestra aplicación.
pág. 9 
Luego nos vamos a la carpeta /config y abrimos en nuestro editor de texto el archivo routers.rb en el cual borraremos el “#” de la línea 53 (que nos sirve para comentar algún texto o código en Ruby), y nos quedará una línea de comandos de Ruby así: 
root :to => „welcome#index‟ 
Y ahora para Finalizar nuestra pequeña aplicación de RoR , abrimos el archivo “index.html.erb” que es la Vista “index” de nuestro controlador “Welcome” y colocamos lo siguiente: 
<h1> Esta es mi Primer Aplicación en Ruby on Rails </h1> 
<p> By: Michael Serrato </p>
pág. 10 
Por último vamos a cargar nuestra aplicación: 
rails s 
Qué abrirá un servidor con nuestra app en el puerto 3000 (que ya viene así por defecto). 
Abrimos nuestro navegador y visualizamos nuestra aplicación, en: 
http://localhost:3000/welcome/index 
Les debe aparecer la Vista en la que creamos la página de HTML5: 
<h1> Esta es mi Primer Aplicación en Ruby on Rails </h1> 
<p> By: Michael Serrato </p> 
Bibliografía 
HTML5FACIL. (2013). http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros- pasos/. Recuperado el 15 de Noviembre de 2014, de http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros-pasos/: http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros-pasos/ 
Rubyonrails. (s.f.). Rubyonrails. Recuperado el 15 de Noviembre de 2014, de Rubyonrails: http://www.rubyonrails.org.es/

Ruby on the Rails

  • 1.
    pág. 1 INSTITUTOTECNOLOGICO DE TEHUACAN ING. SISTEMAS COMPUTACIONALES PROGRAMACIÓN WEB FRAMEWORK RUBY ON THE RAILS
  • 2.
    pág. 2 RUBYON THE RAILS Introducción1 Ruby on Rails es un entorno de desarrollo web de código abierto que está optimizado para la satisfacción de los programadores y para la productividad sostenible. Te permite escribir un buen código evitando que te repitas y favoreciendo la convención antes que la configuración. ¿Qúe es Rails? Rails es un armazón para construir aplicaciones web que acceden a bases de datos. ¿Un arma-qué? Un conjunto de librerías, automatismos y convenciones destinados a resolver los problemas más comunes a la hora de desarrollar una aplicación web, para que el programador pueda concentrarse en los aspectos únicos y diferenciales de su proyecto en lugar de en los problemas recurrentes. ¿Para qué se utiliza? Para ayudar a construir aplicaciones modernas de internet como: Twitter, Scribd, Hulu, Xing, Soundcloud, Basecamp, Github… ¿De donde sale? Rails fue creado en 2003 por David Heinemeier Hansson y desde entonces ha sido extendido por el Rails core team, más de 2.100 colaboradores y soportado por una extensa y activa comunidad. ¿Qué necesito saber para empezar a trabajar con Rails? Vídeos Rails salto a la fama por un vídeo llamado «Un Blog en 15 minutos» en el que su creador David Heinenmeyer Hanson explicaba algunas de las funcionalidades distintivas. Hoy día puedes empezar a familiarizarte con Rails viendo alguno de estos vídeos demostrativos (Screencasts). Guías Conoce el funcionamiento de cada aspecto en las Guías de Rails. Tutoriales Podéis seguir el afamado Rails Tutorial o el originalísimo Rails for Zombies. 1 (Rubyonrails)
  • 3.
    pág. 3 Cursospresenciales Introducción a Ruby on Rails (Madrid 4-15 noviembre 2013). Cursos online Si prefieres estudiar desde casa apúntate a Aprende Rails Instalación En general, instalar Rails es tan sencillo como gem install rails, pero primero hay que tener el lenguaje Ruby y el gestor de librerías Rubygems en el sistema, lo que varía un poco de una plataforma a otra: GNU/Linux Linux es un entorno habitual para servidores, con lo que muchos desarrolladores lo escogen minimizando así las diferencias entre el entorno de desarrollo y el de producción. RVM Evita administrar Ruby, RubyGems y demás con el gestor de paquetes de tu distribución ya que estos suelen estar desactualizados. En su lugar, puedes emplear "RVM". RVM te permite instalar y mantener varias versiones de ruby a la vez. Puedes encontrar más información sobre Ruby Version Mananger (RVM) en http://rvm.io Prerequisitos de RVM: sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt- dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config Este comando puede variar entre versiones y distribuciones, está probado en Ubuntu 13.04, consulta la documentación de la web de RVM y de tu distribución. Instala RVM: curl -L https://get.rvm.io | bash -s stable --autolibs=enabled source $HOME/.rvm/scripts/rvm
  • 4.
    pág. 4 Instalaruby rvm install ruby-2.0.0 Comprueba los comandos: rvm, ruby, irb, gem $ rvm list rvm rubies =* ruby-2.0.0-p247 [ x86_64 ] # => - current # =* - current && default # * - default $ gem -v 2.0.3 $ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] $ irb 2.0.0-p247 :001 > puts 'Hola' Hola => nil 2.0.0-p247 :002 > quit $ gem install rails Para instalar una versión concreta de Rails, en lugar del último comando podemos poner: gem install rails -v=4.0 OSX Mac OS es una plataforma muy popular entre desarrolladores Rails. Para configurar el entorno de desarrollo necesitarás los siguientes componentes: Command Line Tools for XCode  Crea un Apple ID accede con el tuyo si ya lo tienes. Registrate con la misma ID que usas para otros servicios de Apple como iTunes, iCloud, etc…  Accede al Apple Developer Portal  Busca "Command Line Tools (OS X Lion) for Xcode" o "Command Line Tools (OS X Mountain Lion) for Xcode"  Descarga e instala el paquete Homebrew Homebrew es un sistema de gestión de paquetes que hace muy fácil instalar centenares de proyectos de fuente abierta y compilarlos desde las fuentes para optimizar su rendimiento en tu máquina. $ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
  • 5.
    pág. 5 ==>This script will install: /usr/local/bin/brew /usr/local/Library/... /usr/local/share/man/man1/brew.1 Press ENTER to continue or any other key to abort Git Git es el sistema de control de versiones más popular en la comunidad Ruby. $ brew install git ==> Downloading http://git-core.googlecode.com/files/git-1.8.1.1.tar.gz ########################################################### 100.0% RVM RVM te permite instalar y mantener varias versiones de ruby a la vez. Puedes encontrar más información sobre Ruby Version Mananger (RVM) en http://rvm.io $ bash -s stable < <(curl -L https://get.rvm.io ) source ~/.bash_profile $ rvm install 1.9.3 --with-gcc=clang Searching for binary rubies, this might take some time. No binary rubies available for: osx/10.8/x86_64/ruby-1.9.3-p374. Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies. Installing Ruby from source to: /Users/burtlo/.rvm/rubies/ruby-1.9.3-p374, this may take a while depending on your cpu(s)... ruby-1.9.3-p374 - #downloading ruby-1.9.3-p374, this may take a while depending on your connection... ############################################################### ######### 100.0% rvm use 1.9.3 --default $ gem install rails Microsoft Windows Iniciarse en Rails sobre Windows es relativamente fácil gracias a los esfuerzos de Engine Yard (http://engineyard.com) que han desarrollado RailsInstaller (http://railsinstaller.org/), un instalador en un sólo paquete de todas las herramientas que necesitas para ponerte a trabajar, incluido Rails. Asegurate de que durante la configuración seleccionas la casilla correspondiente a las variables de entorno. Puedes detenerte tras el paso 2 después de haber introducido tu nombre y correo electrónico.
  • 6.
    pág. 6 Másallá de la instalación, sin embargo todo empieza a complicarse. Según vayas utilizando más Gemas (que es como se llama en Ruby a las librerías) y otras dependencias descubrirás que muchas utilizan extensiones nativas escritas en Lenguaje C para mayor rendimiento, y salvo que los autores de esas gemas hayan puesto un especial empeño en ser multiplataforma desencadenarán complicaciones. Si hay alguna posibilidad de que evites tener que usar Windows como entorno de desarrollo, hazlo. Como alternativa, considera configurar una máquina virtual con Virtual Box (http://www.virtualbox.org/) y utiliza Ubuntu Linux (http://www.ubuntu.com/download/ubuntu/download) en su lugar. Mi primera App en RoR2 rails new MiPrimerApp Esto nos puede tomar unos segundos para que genere todos los archivos necesarios para nuestra aplicación. 2 (HTML5FACIL, 2013)
  • 7.
    pág. 7 Unavez listo abrimos nuestro editor de texto (sugiero usar Sublime Text 2) para examinar todas las carpetas y archivos que nos ha creado Rails, esto con el de darnos una idea de cómo es lajerarquía de los ficheros, archivos y/o carpetas que maneja RoR en nuestras aplicaciones. Volvemos a la Consola y tecleamos lo siguiente: rails s O también podemos escribir el comando así: rails server
  • 8.
    pág. 8 Loque hará este comando así de sencillo será cargar nuestra aplicación para poder visualizarla en el navegador, generalmente la carga en el puerto 3000 de nuestro localhost, Ejemplo: localhost:3000 Una vez visualizada la aplicación en el navegador nos podremos dar cuenta que por defectoRails genero una vista con la portada de RoR, en donde nos indica que esta vista o archivo debe ser borrada y reemplazada por la vista index del controlador welcome. Muy bien ahora regresamos de nuevo a la consola y nos salimos del servidor mediante la combinación de teclas Ctrl+C. Después tecleamos lo siguiente: rails g controller welcome index Lo que hará este comando es crearnos el Controlador “Welcome” con la Vista “Index”. Una vez creados los ficheros, procedemos a borrar el archivo index.html en la Carpeta /Publicde nuestra aplicación.
  • 9.
    pág. 9 Luegonos vamos a la carpeta /config y abrimos en nuestro editor de texto el archivo routers.rb en el cual borraremos el “#” de la línea 53 (que nos sirve para comentar algún texto o código en Ruby), y nos quedará una línea de comandos de Ruby así: root :to => „welcome#index‟ Y ahora para Finalizar nuestra pequeña aplicación de RoR , abrimos el archivo “index.html.erb” que es la Vista “index” de nuestro controlador “Welcome” y colocamos lo siguiente: <h1> Esta es mi Primer Aplicación en Ruby on Rails </h1> <p> By: Michael Serrato </p>
  • 10.
    pág. 10 Porúltimo vamos a cargar nuestra aplicación: rails s Qué abrirá un servidor con nuestra app en el puerto 3000 (que ya viene así por defecto). Abrimos nuestro navegador y visualizamos nuestra aplicación, en: http://localhost:3000/welcome/index Les debe aparecer la Vista en la que creamos la página de HTML5: <h1> Esta es mi Primer Aplicación en Ruby on Rails </h1> <p> By: Michael Serrato </p> Bibliografía HTML5FACIL. (2013). http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros- pasos/. Recuperado el 15 de Noviembre de 2014, de http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros-pasos/: http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros-pasos/ Rubyonrails. (s.f.). Rubyonrails. Recuperado el 15 de Noviembre de 2014, de Rubyonrails: http://www.rubyonrails.org.es/