momus53 / lab2

Familiarizarse con los modelos, sus validaciones y asociaciones

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LAB2

Objetivos

Familiarizarse con los modelos: validaciones, asociaciones y migraciones.

Notas

  • Las tablas ya existen y tienen datos
  • Usar reload! en la consola de rails para aplicar cualquier cambio hecho en el código fuente

Pasos previos

Ver la sección preparar repositorio

Parte 1 - Validaciones

  1. Definir manualmente los modelos para las tablas monsters, victims y attacks.
  2. ¿Cuántos monstruos hay en la base de datos? (usar la consola de rails)
  3. Definir una validación para que el nombre de los monstruos y las víctimas sea obligatorio.
  4. Definir una validación para que el nombre de los monstruos no se puedan repetir entre monstruos.
  5. Definir una validación custom para que los monstruos con un nivel de susto superior a 5 no puedan tener víctimas menores de 18 años.
  6. [rails console] Probar que todas validaciones funcionen como se esperan.
  7. Hacer un commit con todos los cambios realizados y pushear el commit al repositorio forkeado.

Parte 2 - Asociaciones

  1. Definir las asociaciones necesarias para que un monstruo pueda tener muchas víctimas. Es necesario considerar el modelo de ataques.
  2. [rails console] Crear una nueva víctima y asociarla a un monstruo
  3. [rails console] Obtener todas las víctimas de Nahuelito
  4. [rails console] Obtener todas las víctimas de Nahuelito ordenadas alfabéticamente por su nombre
  5. Actualizar los modelos para los monstruos y las víctimas de tal manera que cuando se elimine algún monstruo o víctima, todos sus ataques se eliminen.
  6. Hacer un commit con todos los cambios realizados y pushear el commit al repositorio forkeado.

Parte 3 - Migraciones

  1. Crear un nuevo modelo para modelar los tweets de un monstruo. El tweet debe estar asociado a un monstruo y debe tener el contenido en texto del tweet.
    1. Asegurarse de incluir la migración necesaria para crear la tabla tweets
    2. Correr la migración y crear 3 tweets para 3 monstruos distintos
  2. Agregar nueva información a la tabla de monstruos:
    1. Una columna para permitirle al monstruo configurar su cuenta como privada, para que sus tweets no sean visibles públicamente.
    2. Una columna para guardar la fecha de nacimiento del monstruo.
    3. Correr la(s) migración(es) y actualizar los monstruos existentes para que tengan información en las nuevas columnas.

About

Familiarizarse con los modelos, sus validaciones y asociaciones


Languages

Language:Ruby 79.0%Language:HTML 17.3%Language:JavaScript 2.8%Language:Shell 0.5%Language:SCSS 0.3%Language:Dockerfile 0.2%