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