Creación de Scaffolds y Modelos en Rails con SimpleFrame y Bootstrap
Clase 20 de 36 • Curso de Introducción a Ruby on Rails
Contenido del curso
- 6

Arquitectura MVC y Flujo de Peticiones en Rails
07:22 - 7

Creación y Configuración de Aplicaciones Web con Ruby on Rails
11:18 - 8

Creación de Rutas y Controladores en Ruby on Rails
10:15 - 9

Creación de Modelos y Migraciones en Ruby on Rails
13:12 - 10

Gestión de Credenciales Seguras en Ruby on Rails
11:57 - 11

Gestión de Assets y Layouts en Rails: Asset Pipeline y Webpacker
12:31 - 12

Uso del Generador Scaffold en Ruby on Rails
10:51 - 13

Migraciones y Consistencia de Modelos en Rails
05:57 - 14

Migración de Plantillas ERB a Haml en Ruby on Rails
08:47 - 15

Creación de Formularios Dinámicos con SimpleForm y Haml en Rails
12:19 - 16

Internacionalización de Aplicaciones Rails con i18n y i18n-tasks
09:29 - 17

Debugging en Ruby on Rails: Uso de Bybug y Pry
09:03
- 18

Desarrollo de un Sistema de Gestión de Tareas con Ruby on Rails
05:35 - 19

Diseño de Modelos de Datos para un Organizador de Tareas
05:46 - 20

Creación de Scaffolds y Modelos en Rails con SimpleFrame y Bootstrap
10:08 - 21

Internacionalización de Formularios en Rails con i18n y SimpleForm
11:03 - 22

Validaciones de Modelos en Ruby on Rails
10:42
- 23

Autenticación de Usuarios con Devise en Rails
11:42 - 24

Migración de Llave Foránea: Enlazar Tarea con Usuario en Rails
05:46 - 25

Integración Visual y Estructural en Rails: Usuario, Tarea y Participante
09:54 - 26

Manejo de Formularios Anidados con Cocoon en Rails
12:25 - 27

Formularios Dinámicos en Rails con Cocoon y Validaciones de Unicidad
09:36 - 28

Permisos y Accesos con KanKan en Aplicaciones Rails
14:13
- 29

Callbacks en Controladores y Modelos en Rails
08:59 - 30
Automatización de Inserción de Datos en Rails con db:seed
07:38 - 31

Envío de Correos con ActionMailer en Rails
13:25 - 32

Creación de notas dinámicas en tareas con Ruby on Rails
17:08 - 33

Inserciones Dinámicas de Notas con AJAX y SJR en Rails
09:12 - 34
Mejora de Interfaces con Bootstrap en Aplicaciones Rails
16:19
¿Cómo construir scaffolds y trabajar con modelos en Rails?
¡Vamos a adentrarnos en el emocionante mundo de Rails y crear nuestros primeros scaffolds! Hoy construiremos los modelos de tarea y categoría, y los potenciaremos con un sistema de internación para sus vistas. Iniciaremos instalando las herramientas necesarias y luego procederemos con la creación de estos modelos. Sin más preámbulos, ¡vamos a ello!
¿Cómo preparamos el entorno?
Antes de comenzar a crear scaffolds, debemos preparar nuestro entorno frontend con SimpleFrame y Bootstrap:
-
Instalar el preset Bootstrap:
simpleframe 2.install --preset=bootstrapEsto genera el archivo
SimpleFrame Bootstrap, simplificando la integración de nuestras vistas con Bootstrap.
¿Cómo generamos los modelos de categoría y tarea?
Primero, vamos a crear el scaffold para el modelo categoría, ya que cada tarea pertenecerá a una categoría. El modelo categoría incluye una descripción y un nombre, que podemos definir como de tipo string. Sin embargo, podrías optar por text para la descripción si necesitas una longitud mayor.
- Generar scaffold para categoría:
rails generate scaffold Categoria nombre:string descripcion:string
Después, construiremos el scaffold para el modelo tarea, que también contiene un nombre, una descripción y una fecha de vencimiento. Además, cada tarea estará asociada a una categoría, lo cual implementaremos usando el tipo references.
- Generar scaffold para tarea:
rails generate scaffold Tarea nombre:string descripcion:string fecha_vencimiento:date categoria:references
¿Cómo migramos las tablas a la base de datos?
Para ejecutar nuestras migraciones, necesitamos ajustar nuestro acceso a la base de datos configurando PostgreSQL, ya que estamos usando este sistema en lugar de SQLite:
-
Configurar PostgreSQL:
- Edita el archivo
config/database.yaml. - En las secciones
developmentytest, configurahost,userypassword.
Ejemplo:
development: host: localhost user: platzi password: platzi - Edita el archivo
-
Ejecutar migraciones:
rails db:migrate
¿Cómo establecemos relaciones entre modelos?
El autogenerador de Rails crea una relación belongs_to entre tarea y categoría automáticamente. No obstante, para reflejar que una categoría puede tener muchas tareas, debemos modificar el modelo Category agregando has_many :tasks.
- Modificar el modelo Categoría:
- En
app/models/categoria.rb, añade:has_many :tareas
- En
¿Cómo anotamos nuestros modelos para mayor claridad?
Rails nos permite utilizar la gema annotate para documentar mejor los atributos y columnas de los modelos.
-
Instalar y utilizar annotate:
- Añade
gem 'annotate'al Gemfile. - Ejecuta:
bundle install annotate --models
Esto proporcionará información descriptiva sobre ambos modelos en sus respectivos archivos.
- Añade
¿Cómo corremos la aplicación y probamos el resultado?
Finalmente, podemos ejecutar nuestro servidor Rails y comprobar las funcionalidades creadas en nuestro navegador:
-
Iniciar el servidor:
rails server -
Acceder a nuestras rutas:
- Abre un navegador y visita
localhost:3000. - Usa las rutas
/tareasy/categoriaspara ver las listas de tareas y categorías.
- Abre un navegador y visita
Con todo esto, hemos establecido un sistema básico en Rails utilizando modelos bien estructurados e integraciones eficientes con Bootstrap. ¡Sigue explorando y aprendiendo para llegar a construir grandes proyectos en Rails!