viernes, 4 de julio de 2014

Crear artículos - II

Además de las columnas que definamos aquí, Rails incluirá automáticamente para cada tabla una columna "id" para el identificador único de cada fila de la tabla. Nos podemos fijar también en que nosotros pedimos definir el modelo Articulo (en singular), y Rails siguiendo sus convenciones, supone que nos pondremos de acuerdo en llamar a la tabla "articulos", como el plural del modelo. Rails es lo suficientemente listo como para saber hacer el plural incluso en casos irregulares como Person -> people. También podemos definir nuestras propias reglas de pluralización para definir las reglas gramaticales de otros idiomas y hacer que por ejemplo pluralice correctamente un modelo Camion como camiones, en lugar de "camions". Para aplicar esta definición del modelo Articulo en la base de datos, ejecutaremos:

$ rake db:migrate (in /home/jaime/blog) == CreateArticulos:
migrating ================================================= --
create_table(:articulos) -> 0.0990s == CreateArticulos: migrated
(0.0993s) ========================================

Al ejecutar esta orden, Rails leerá el fichero config/database.yml para saber cómo acceder a la base de datos, y aplicará las órdenes definidas en la migración para crear las tablas en MySQL. Si en el fichero de configuración hubiéramos especificado otro tipo de base de datos (PostgreSQL, Oracle, Sqlite, SQL Server...) en lugar de MySQL, Rails habría sabido cómo crear las tablas; él se ocupa de la sintaxis SQL de cada tipo de base de datos y nosotros podemos definirlo a un nivel más alto de abstracción. Ya tenemos nuestro modelo Articulo creado y la tabla que almacenará sus datos; ahora necesitamos un controlador para administrar los artículos, que nos permita crearlos, modificarlos, borrarlos... 
Para ello ejecutaremos:

$ script/generate controller Admin exists app/controllers/ exists
app/helpers/ create app/views/admin exists test/functional/ create
app/controllers/admin_controller.rb create
test/functional/admin_controller_test.rb create
app/helpers/admin_helper.rb

No hay comentarios:

Publicar un comentario