Instalando Ruby on Rails

2 de Mayo de 2008 por Jordi Romero

Antes que nada, necesitas tener Ruby en el sistema: En Linux y Windows, sigue los pasos que cuentan en la página oficial de Ruby. En Mac OS X Tiger, sigue las instrucciones que da Dan Benjamin en Hivelogic. En Mac OS X Leopard, no hace falta hacer nada, viene con una instalación de serie de Ruby y Ruby on Rails. También necesitarás las RubyGems, que puedes encontrar aquí. Para comprobar que realmente tienes Ruby y RubyGems funcionando, escribe esto en la línea de comandos:

$ ruby -v     

ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]

$ gem -v

1.1.1

$

Ahora, sólo hace falta escribir

$ gem install rails --include-dependencies

Y tendremos Rails instalado. Vamos a crear nuestra primera aplicación Rails:

$ rails hello_world_rails
      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      [...]
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
$ cd hello_world_rails/

El comando rails <nombreaplicacion> en realidad lo único que hace es crear un directorio de nombre “nombreaplicacion” y llenarlo con el esqueleto de una aplicación Rails:

  • app: El directorio donde mas lineas escribiremos, ahí es dónde va el código de nuestra aplicación.
  • config: Se configura la base de datos, las rutas y parámetros para cada entorno de ejecución (development, test y production)
  • db: Es donde tendremos los ficheros de migraciones de la base de datos, y si usas sqlite, también tendrás la base de datos ahí.
  • doc: Por defecto está vacío, pero puedes generar ahí la API de Rails, o la API de tu propia aplicación con el comando rake.
  • lib: Código Ruby que queramos tener accesible desde cualquier código de nuestra aplicación
  • log: …
  • public: Directorio que el servidor web servirá, es dónde se encuentra el dispatcher, y el contenido estático (css, imágenes, js, …)
  • script: Código de Rails con los scripts que usaremos constantemente para generar más código
  • test: Directorio dónde colocaremos el código de nuestros tests para probar la aplicación
  • tmp: …
  • vendor: Inicialmente vacío, pero ahí es dónde irán a parar los plugins que instalemos, y si queremos, podemos incrustar todo el código de rails para no tener que depender de la versión de rails que haya en nuestra máquina, e incluso, hacerle modificaciones
Ahora vamos a poner en marcha unos instantes esta nueva aplicación dónde aún no hemos escrito ni una línea de código:
$ script/server
=> Booting Mongrel (use ’script/server webrick’ to force WEBrick)
=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment…
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready.  TERM => stop.  USR2 => restart.  INT => stop (no restart).
** Rails signals registered.  HUP => reload (without restart).  It might not work well.
** Mongrel 1.1.4 available at 0.0.0.0:3000
** Use CTRL-C to stop.
En nuestro navegador favorito, ponemos http://0.0.0.0:3000 y veremos una página de bienvenida que nos da pistas sobre nuestros siguientes pasos. Ya podemos cerrar el servidor (Control-C), y ponernos manos a la obra.
Por defecto, Rails supone que vamos a usar una base de datos sqlite, si queremos forzarlo a usar otra opción (por ejemplo: mysql), tenemos que ejecutar el comando rails <aplicación> -d mysql.
En este articulo sólo pretendo mostrar cómo se pone en marcha una aplicación rails, pero sólo como aperitivo, podemos probar lo siguiente:
$ script/generate scaffold Producto nombre:string descripcion:text precio:integer 

[...]

$ rake db:migrate

(in /Users/jordi/rails/hello_world_rails)
== 1 CreateProductos: migrating ===============================================
– create_table(:productos)
   -> 0.0038s
== 1 CreateProductos: migrated (0.0040s) ======================================

$ script/server

[...]
Y vamos a http://0.0.0.0:3000/productos. Con sólo escribir un comando, hemos generado un controlador (Productos), un modelo (Producto) y unas vistas (páginas html) para manipular productos. Podemos crear, mostrar, editar, borrar y listar productos sin tener que escribir ni una sola línea de Ruby. Con el segundo comando hemos generado la tabla en la base de datos (sqlite, configurada en config/databse.yml) productos, con los campos nombre, descripción y precio.
Hasta aquí la instalación de Rails, a partir de aquí hace falta saber un poco de Ruby y empezar a programar aplicaciones realmente útiles.

Enlace permanente | Trackback | No hay comentarios

Deja un comentario