Crear Scaffold
El scaffold nos permite crear un CRUD, es decir, las operación una base de datos, como crear, modificar, eliminar etc. agilizando el proceso de desarrollo de nuestra aplicación.
1.- En consola, escribiremos el siguiente comando, Article hace referencia al modelo a generar, que a su vez, creara la tabla y controlador articles, debido a su gestión de rails, por lo cual es recomendable usar términos en inglés. Nombre, precio, descripción, medidas y user:refences son los campos de la tabla, y user está indicando que se hará una referencia al modelo user (que ya debe estar creado), asignando al mismo campo su llave foránea. Los campos van acompañados del tipo de dato a introducir, y los que quedan solos, se asume por defecto que serán un string:
rails generate scaffold Article nombre descripcion:text precio:decimal medidas user:references
2.- Esto nos generará una migración, por lo cual será necesario correr el comando:
rake db:migrate
Borrar Scaffold
Si por error se ha creado mal el scaffold y es necesario eliminarlo, se puede revertir el proceso junto con la migración:
1.- Ruby cuenta con un método que puede eliminar lo que le indiquemos dentro de nuestro proyecto, el cual es destroy y con él eliminaremos los archivos creados por el scaffold, donde article es el nombre del mismo:
rails destroy scaffold article
2.- Ahora, toca turno de eliminar la migración, en este caso, en lugar de unas una g de generate (ej. rails g devise...) usaremos una d correspondiente a delete, indicamos que es una migración y a continuación el nombre de la misma
rails d migration create_articles
3.- Se ha borrado la migración, pero también será necesario borrar la tabla. Se puede eliminar a través de la consola de rails con el comando:
ActiveRecord::Migration.drop_table(:articles)
4.- Ya podemos volver a generar el scaffold (si es lo que buscamos) modificando lo necesario según sea nuestro requerimiento, de la misma manera aquí escrita, también corriendo después el rake db:migrate para la migración.
2.- Ahora, toca turno de eliminar la migración, en este caso, en lugar de unas una g de generate (ej. rails g devise...) usaremos una d correspondiente a delete, indicamos que es una migración y a continuación el nombre de la misma
rails d migration create_articles
3.- Se ha borrado la migración, pero también será necesario borrar la tabla. Se puede eliminar a través de la consola de rails con el comando:
ActiveRecord::Migration.drop_table(:articles)
4.- Ya podemos volver a generar el scaffold (si es lo que buscamos) modificando lo necesario según sea nuestro requerimiento, de la misma manera aquí escrita, también corriendo después el rake db:migrate para la migración.
No hay comentarios:
Publicar un comentario