Aquí encontrarás todo lo relacionado a la tecnología, computación, informática y demás. Enterate de las noticias del momento en cuanto a tecnología se refiere.





Altas, bajas y cambios (ABC) en Ruby On Rails (RoR)


Para realizar este tutorial de ABC, debemos seguir los tutoriales pasados de ruby y Ruby on Rails para tener instalado lo necesario.

Vamos a realizar un ejercicio de altas, bajas y cambios utilizando RoR, primero vamos a crear nuestro proyecto con la siguiente instrucción e ingresamos a él:

$ rails proyecto_rails
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
...
$ cd proyecto_rails

Esta nueva versión de rails, trabaja por default con SQLite3, por lo que no hay que meternos al archivo de configuración de base de datos, si queremos cambiar de gestor de base de datos podemos irnos al archivo config/database.yml:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  timeout: 5000

Rils trabaja con 3 bases de datos, las cuales son de desarrollo, pruebas y producción, como ven , viene configurado para trabajar con sqlite3, si queremos trabajar por ejemplo con mysql, modificaremos los siguiente:

development:
  adapter: mysql
  database: dbname
  host: localhost
  username: user
  password: pass

Si ustedes gustan pueden comentar el apartado de test y production y solo trabajar con development.

Después de tener configurado nuestra base de datos, en este caso como les comenté trabajaremos con sqlite3 como viene por default, ahora utilizaremos un método llamado scaffold, es un método para contruir aplicaciones basadas en bases de datos, esta técnica está soportada por algunos frameworks del tipo MVC en el cuál el programador escribe una especificación que describe cómo debe ser usada la base de datos.

$ ruby script/generate scaffold pelicula titulo:string descripcion:text email:string fecha:date
 exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/peliculas
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  public/stylesheets/
      create  app/views/peliculas/index.html.erb
      create  app/views/peliculas/show.html.erb
      create  app/views/peliculas/new.html.erb
      create  app/views/peliculas/edit.html.erb
      create  app/views/layouts/peliculas.html.erb
      create  public/stylesheets/scaffold.css
...

Explico, pelicula es el nombre de la tabla, titulo, descripcion, email y fecha son los campos de la tabla con sus respectivos tipo de dato. Ahora utilizaremos un rake para migrar la bd:

$ rake db:migrate
== 20081117205817 CreatePeliculas: migrating ==================================
-- create_table(:peliculas)
   -> 0.0092s
== 20081117205817 CreatePeliculas: migrated (0.0096s) =========================

Y por último corremos el servidor WebRick:

$ ruby script/server
=> Booting WEBrick...
=> Rails 2.1.0 application started on http://127.0.0.1:3000
...

Abrimos un navegador y tecleamos localhost:3000/peliculas.

ror1 ror2

Como podemos observar, en tan solo unos minutos tenemos un ABC rápido y funcional, podemos jugar un poco con los css para darle diseño, se encuentra en el directorio public/stylesheets/scaffold.css y cambiar el aspecto a nuestra página.

Pantallazo-Peliculas: index - Iceweasel

Post Relacionados:


Búsquedas hacia éste artículo:


1 Comentario »

RSS feed para los comentarios de esta entrada. TrackBack URI

  1. Buen aporte, andaba algo perdido con la configuración de ruby on rails y con este artículo he conseguido lo que me faltaba. Gracias por ofrecer tus conocimientos¡¡ :)

    Comentario por Rafael Ruiz — February 17, 2009 #

Dejar un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Todos los derechos reservados. Tecnologia.