Creación de Modelos y Migraciones en Ruby on Rails
Clase 9 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
¿Qué es un modelo en el contexto de Rails?
Los modelos en Rails representan una idea clave dentro del patrón de diseño MVC (Modelo-Vista-Controlador). Este patrón organiza el código en tres componentes principales, donde el modelo es fundamental para definir la estructura de datos y la lógica de negocio.
En Rails, un modelo es una representación de un objeto del mundo real o un concepto que debe ser gestionado y almacenado en una base de datos. Para ilustrar este concepto, supongamos un modelo simple denominado Pet. Este modelo podría tener atributos como name y breed, los cuales estarían reflejados en la tabla de base de datos correspondiente.
¿Cómo crear un modelo usando Rails Generate?
Rails proporciona una herramienta poderosa llamada rails generate que permite generar estructuras de código prediseñadas rápidamente. Para crear un modelo, utilizamos el siguiente comando:
rails generate model Pet name:string breed:string
Este comando creará dos archivos importantes:
- Archivo de migración: Ubicado en la carpeta
db/migrate, este archivo define la creación de la tablapetscon sus atributos. - Archivo del modelo: Creado en
app/models, contiene la clasePetque hereda deApplicationRecord, integrando automáticamente capacidades para interactuar con la base de datos.
¿Cómo conectar el modelo con la base de datos?
Después de crear un modelo, es esencial reflejar estos cambios en la base de datos ejecutando el comando de migración:
rails db:migrate
Este proceso transforma el modelo Pet en una tabla de base de datos, asegurando que los datos se almacenen y se puedan consultar más tarde.
¿Cómo pasar información del modelo a las vistas?
Las variables de instancia se utilizan para entregar datos desde el controlador a las vistas en Rails. Para lograrlo, una variable de instancia puede ser inicializada en el controlador, y luego accedida en las vistas, como se muestra a continuación:
Dentro del controlador, se podría definir una variable de instancia:
@variable = "¿Cómo estás?"
Luego, modificar el archivo de vista hello.html.erb para incluir la variable de instancia:
<p><%= @variable %></p>
Este archivo debe tener la extensión .html.erb para permitir la interpolación de código Ruby dentro de llamadas de plantilla ERB.
¿Cómo integrar datos de la base de datos en las vistas?
Para enriquecer tus aplicaciones, puedes recuperar datos directamente desde la base de datos y renderizarlos en las vistas. Utilizando rails console, puedes crear instancias de tu modelo:
Pet.create(name: 'Lulu', breed: 'Poodle')
Para mostrar información específica en la vista, actualiza el controlador:
@variable = Pet.first.name
Así, la vista se actualizará para mostrar el nombre del primer registro del modelo Pet.
¿Cómo presentar datos más complejos en las vistas?
Para hacer la salida más descriptiva, puedes combinar múltiples atributos en la vista, creando una presentación personalizada de los registros:
@mascota = Pet.first
@variable = "Hola, soy #{@mascota.name} y soy un #{@mascota.breed}"
Esta lógica generará una salida como: "Hola, soy Lulu y soy un Poodle", proporcionando una presentación más atractiva y humana de los datos.
Con estos conceptos y comandos, tienes una base sólida para explorar y expandir la capacidad de tu aplicación Rails. ¡Explora la flexibilidad que te ofrece este poderoso framework y sigue profundizando en la organización y manipulación de datos!