Configurando MySQL en Ruby on Rails
Posted by makio in Gems, Instalacion, MySQL, Rails on martes, 26 de mayo de 2009
Durante las siguientes entradas a este blog vamos a desarrollar una pequeña aplicación pero para eso utilizaremos MySQL. Ruby on Rails no trae por defecto ninguna base de datos así que tendremos que instalar MySQL y el conector que usa Rails.
Instalar MySQL
$ sudo apt-get install mysql-server mysql-client
Instalar Librerías
$ sudo apt-get install libmysql-ruby libmysqlclient-dev
Instalar el conector con gems
$ sudo gem install mysql
Una vez instalado lo anterior, probemos que esté funcionando correctamente:
Crear una nueva aplicación: Se utiliza el comando rails pero le agregamos el parámetro -d para indicar que vamos a usar MySQL como nuestra base de datos.
$ rails TestDB -d mysql
Comprobar archivo de configuración: Para ver la configuración usada para la conexión con la base de datos abrimos el archivo que se encuentra en TestDB/config/database.yml
En este archivo vemos que existen 3 conexiones diferentes: development, test y production. Las tres conexiones contienen los mismos parámetros el único que cambia es el parámetro database: éste es el nombre de la base de datos que vamos a usar, el nombre empieza con el nombre que le dimos a nuestra aplicación continuando con un guión bajo y el ambiente de desarrollo en el que estemos trabajando.
development:
adapter: mysql
encoding: utf8
reconnect: false
database: TestDB_development
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock
Ya explicado esto corramos la aplicación en el servidor:
$ cd TestDB
$ ruby script/server
=> Booting WEBrick
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2009-05-26 23:02:31] INFO WEBrick 1.3.1
[2009-05-26 23:02:31] INFO ruby 1.8.7 (2008-08-11) [i486-linux]
[2009-05-26 23:02:36] INFO WEBrick::HTTPServer#start: pid=5508 port=3000
Ahora en el navegador entremos a la aplicación que está corriendo en http://127.0.0.1:3000, al estar en la pagina da click en About your application’s environment y verás el siguiente error:

Este error ocurre por que no se ha creado la base de datos, se tendrá que crear la base de datos TestDB_development ya sea en la terminal o en cualquier gestor de base de datos que tengan instalado. Crearla, refresca la página y mostrará los datos de la aplicación:

Espero que quede claro esta parte de la configuración de MySQL, si tienen alguna duda o problema dejen un comentario, en la siguiente entrada vamos a generar nuestro primer controlador de forma manual y usando scaffold.
MVC (Model-View-Controller)
Rails usa la arquitectura model-view-controller, para esto veamos la definición de MVC de wikipedia:
Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario y la lógica de control en tres componentes distintos.

La definición puede que no deje claro que es y como es que trabaja, veamos parte por parte esta arquitectura y cual es el objetivo de cada una:
Models: Estos son responsables de la comunicación con el back-end de los datos almacenados, que seria una base de datos (SQLlite, MySQL, SQL Server, etc).
Views: Las vistas son responsables de lo que ve el usuario el front-end de la aplicación; estos contienen una mezcla de HTML y el uso de algún lenguaje embebido (en este caso ruby) para generar contenido dinámico.
Controllers: Los controladores son los responsables de saber que hacer con las entradas de los usuarios. Manejan los requests del navegador, llaman las funciones apropiadas sobre los objetos del modelo e interpreta las vistas en HTML puro para regresarlo al navegador.
Instalando Ruby on Rails - Ubuntu
Posted by makio in Gems, Instalacion, Rails, Ruby on domingo, 24 de mayo de 2009
Por cuestiones de tiempo no había podido iniciar con temas ya prácticos, ya estaré actualizando mas seguido las entradas del blog.
Por lo pronto escribiré paso a paso como instalar Ruby on Rails en Ubuntu, yo estoy usando Ubuntu 9.04 pero no habra problemas con otras versiones, si es el caso no duden en comentar en esta entrada para checar el problema y tratar de solucionarlo.
Instalar Ruby
$ sudo apt-get install ruby-full build-essential
Instalar Gems 1.3.1
$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
$ tar xzvf rubygems-1.3.1.tgz
$ cd rubygems-1.3.1
$ sudo ruby setup.rb
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
$ sudo gem update --system
Instalando Rails
Haremos uso de Gems para instalar rails.
$ sudo gem install rails
Siguiendo estos sencillos pasos ya tendras Ruby y Rails instalados y listos para usar.
Creando la primer aplicacion en Rails
$ rails RailsApp
Lanzando la aplicacion
$ cd RailsApp
$ ruby script/server
=> Booting WEBrick...
=> Rails 2.1.0 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-07-28 04:39:17] INFO WEBrick 1.3.1
[2008-07-28 04:39:17] INFO ruby 1.8.6 (2007-09-24)
[2008-07-28 04:39:17] INFO WEBrick::HTTPServer#start: pid=6860 port=3000
La aplicacion ya esta corriendo en http://0.0.0.0:3000 o 127.0.0.1:3000, al abrirla en tu navegador veras la siguiente pagina:

Con esto queda terminado los pasos para instalar Ruby on Rails. Espero que les sea de mucha utilidad.