Mi primer Ruby sobre Rieles

Tiempo atrás hice, muy brevemente, una introducción acerca Ruby on Rails. En esta ocasión, con el objetivo de dar los primeros pasos sobre rieles, veremos una instalación básica y una aplicación de ejemplo.

La instalación la realicé sobre un Ubuntu 8.04 Hardy Heron, a través del Gestor de Paquetes Synaptic. Desde el mismo busqué y seleccioné rails (MVC Based framework geared for web application development) y. marque los paquetes que necesitaba (dependencias).

Una vez instalado, abrí una consola y ejecuté el comando rails para crear el proyecto ‘mi_primer_rail‘, este comando me creó la estructura de directorios, scripts y archivos y otros archivos de configuración para la aplicación:


[CODE]
$ rails mi_primer_rail
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create script/process
create test/fixtures
create test/functional
create test/integration
create test/mocks/development
create test/mocks/test
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create Rakefile
create README
create app/controllers/application.rb
create app/helpers/application_helper.rb
create test/test_helper.rb
create config/database.yml
create config/routes.rb
create public/.htaccess
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/boot.rb
create config/environment.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/console
create script/destroy
create script/generate
create script/performance/benchmarker
create script/performance/profiler
create script/performance/request
create script/process/reaper
create script/process/spawner
create script/process/inspector
create script/runner
create script/server
create script/plugin
create public/dispatch.rb
create public/dispatch.cgi
create public/dispatch.fcgi
create public/404.html
create public/422.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
$
$ cd mi_primer_rail
$
[/CODE]

Recordando que Ruby on Rails utiliza en patrón MVC, utilicé el script generate y el argumento controller para crear el controlador ‘hola‘:


[CODE]
$ script/generate controller hola
exists app/controllers/
exists app/helpers/
create app/views/hola
exists test/functional/
create app/controllers/hola_controller.rb
create test/functional/hola_controller_test.rb
create app/helpers/hola_helper.rb
$
[/CODE]

Con gedit edité el archivo del controlador .rb y creé el archivo .rhtml para la vista:


[CODE]
$ gedit app/controllers/hola_controller.rb
[/CODE]


[RUBY]
class HolaController < ApplicationController def index @hello="Hola Rails!" end end [/RUBY]


[CODE]
$ gedit app/views/hola/index.rhtml
[/CODE]


[HTML]
<%= @hello %>
[/HTML]

Para este ejemplo no utilicé base de datos, de todas formas edité el archivo de configuración database.yml, indicando nombre de usuario y contraseña y modificando la base de datos 'mi_primer_rail_development' por 'test'. Está de más decir que en mi sistema tenía intalada una base de datos mysql, aunque de todas formas rails permite utilizar varias bases de datos, como mysql, postgresql, oracle o sqlite.


[CODE]
$ gedit config/database.yml

development:
adapter: mysql
encoding: utf8
#database: mi_primer_rail_development
database: test
username: mi_user
password: mi_pass
socket: /var/run/mysqld/mysqld.sock
[/CODE]

Finalmente corrí el server de aplicaciones WEBrick con el script server.


[CODE]
$ script/server
=> Booting WEBrick...
=> Rails application started on http://127.0.0.1:3000
=> Ctrl-C to shutdown server; call with --help for options

[/CODE]

Desde mi browser ejecuté: http:\\localhost:3000\hola, donde '3000' es el puerto al que escucha el servidor WEBrick y 'hola' es el nombre del controlador y pasó lo que tenía que pasar:

Tags: ,


  • alex

    podrian crear un post acerca de testeo de las clases con ruby?

    Reply

  • David

    Algunas cosas que toque para que me funcione :
    con ruby 1.9.3 y rails 3.2.10:
    1.- el archvo de la vista anda si lo pones como html , no rhtml
    2,- en config/routes.rb tuve que agregar
    resources :hola do
    member do
    get ‘index’
    end
    end

    el resto todo bien ! gracias!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.