Posts Tagged Rails

Scaffolding en Rails 2.0

Últimamente he estado leyendo sobre RoR, y bueno un problema que encontré fue que hay varios libros que enseñan Rails 1.x, el problema es que con la salida de Rails 2.0 hubo cambios, uno de ellos es en la forma de hacer scaffolding, por ejemplo en el libro que estoy leyendo, es del 2006, (quisiera uno mas nuevo pero no pude conseguirlo XD) hacen scaffolding de la siguiente forma:

Una vez teniendo las bases de datos creadas, ya sea manualmente o con rake db:create:all, se crea la tabla “manualmente” ya sea desde la consola de mysql, phpmyadmin o usando un *.sql, tomando en cuenta el uso de nombres singular/plural para el modelo y el nombre de la base de datos.
ruby script/generate scaffold Item Manage
siendo Item el model, y Manage el controller, al intentar este comando en Rails 2.0 te marca un error de este tipo: wrong number of arguments (1 for 2), esto debido a que el scaffolding de esta forma ha cambiado en Rails 2.0, ahora veremos la forma de hacer scaffolding en 2.0:

Una vez teniendo las bases de datos creadas, ya sea manualmente o con rake db:create:all, aqui no tenemos que hacer la tabla manualmente sino que Rails lo puede hacer solito, para hacer este scaffolding primero necesitamos pensar en que campos y tipos de datos debe llevar la tabla, ya que en el comando se define los nombre y tipo de dato para la base de datos, de la siguiente forma:
ruby script/generate scaffold Item title:string description:text
En este comando se define el model a crear, ademas de los campos de la tabla con su respectivo tipo de dato, este comando crea un controller llamado Items el model llamado Item ademas de un esquema de migración que usaremos con rake db:migrate, y de esta forma Rails creara la tabla llamada items, incluyendo como campos extra id, created_at y updated_at, una forma mucho mejor de scaffolding que hicieron en Rails 2.0 :) .

August 7, 2008


Blogroll

Tags

bash dbus Debian glp Gnome GNU/Linux Humor Opinion Personal Programacion python Rails reunion Ruby scaffolding shell scripting Software Libre songbird Variado Web Web 2.0 WTF! xchat