jueves, 3 de julio de 2014

Crear artículos - I

Queremos crear un blog, así que lo primero que necesitamos es poder escribir nuestros artículos. Para nosotros, un artículo tendrá un título y un texto principal, así que comenzaremos con esto. Lo primero que necesitamos es generar el modelo Articulo, para lo que usaremos el script de generación de modelos:

$ script/generate model Articulo exists app/models/ exists
test/unit/ exists test/fixtures/ create app/models/articulo.rb
create test/unit/articulo_test.rb create
test/fixtures/articulos.yml create db/migrate create
db/migrate/001_create_articulos.rb

Vemos que al lanzarlo, el script comprueba que existan los subdirectorios necesarios, y crea varios ficheros: en orden, articulo.rb contendrá la lógica del modelo; los archivos dentro de test nos facilitan el testeo de esta lógica, y el fichero creado dentro de db/migrate nos facilita especificar la estructura de la tabla que almacenará los artículos en la base de datos. Vamos a abrir y rellenar este fichero:

# db/migrate/001_create_articulos.rb
class CreateArticulos < ActiveRecord::Migration def self.up
create_table :articulos do |t| t.column :titulo, :string
t.column :cuerpo, :text end end def self.down
drop_table :articulos end end


Vemos que en este fichero define dos métodos, uno llamado self.up que realizará los cambios necesarios, y otro llamado self.down que deshace estos mismos cambios en caso de que quisiéramos echarnos atrás. Las acciones que realizamos dentro de self.up son muy sencillas de leer: si lo leemos en inglés casi nos sale la frase "crea una tabla articulos y haz una columna título que es una cadena y una columna cuerpo que es un texto". Por otro lado, self.down dice simplemente "tira la tabla articulos".

No hay comentarios:

Publicar un comentario