Crear Rodada: enviando información desde el formulario
Clase 16 de 38 • Curso de Desarrollo de APIs con Sails.js
Contenido del curso
- 10

Entendiendo operaciones CRUD
05:09 - 11

Crear modelo de rodada
07:43 - 12

Crear app de Ionic
11:42 - 13

Obtener todas las Rodadas: preparando la aplicación para mostrar datos
14:52 - 14

Obtener todas las Rodadas: mostrando los datos
14:25 - 15

Crear Rodada: recibiendo parámetros desde la URL
12:29 - 16

Crear Rodada: enviando información desde el formulario
12:41 - 17

Actualizar Rodada
12:17 - 18

Eliminar Rodadas
04:55
- 26

Uso de JSON Web Token
10:23 - 27

Policies: verificar si usuario está loggeado
11:53 - 28

Agregar usuario a Ride
09:48 - 29

Preparando la App para implementar el Login y Sign up
11:01 - 30

Implementando Login
15:04 - 31

Implementando Sign up
09:35 - 32

Agregar puntos de Rodada
15:20 - 33
Obtener API Keys para Clima y Distancias
00:56 - 34

Integración Google Geocoding: definiendo la lógica
14:57 - 35

Integración Google Geocoding: probando la funcionalidad
06:14 - 36

Integración Weather API
13:05 - 37

Desplegar clima, distancia y tiempo en cada punto de Rodada
06:08
¿Cómo implementar el método de creación de un nuevo 'raid' en nuestra aplicación?
En esta sección te voy a guiar en cómo agregar la funcionalidad necesario para que los usuarios de tu aplicación puedan crear nuevos 'raids'. Este paso es crucial para permitir a los usuarios gestionar eventos fácilmente y que estos se reflejen directamente en la base de datos.
¿Cómo estructurar el método para crear un 'raid'?
Es importante adecuar nuestra lógica para permitir la creación de un 'raid'. Sigamos estos pasos para lograrlo:
-
Definir el Método de Creación:
- Vamos a iniciar en el archivo
Servicesy crearemos un método similar al que ya tenemos. - Utiliza el método
POSTpara enviar los datos a nuestra API:
crearRaid(raid: RaidModel): Observable<any> { return this.http.post(`${this.baseUrl}/raids`, raid); }Este nuevo método toma un objeto del tipo
RaidModelcomo parámetro. Esteraidcontiene toda la información necesaria para crear el evento. - Vamos a iniciar en el archivo
¿Cómo vincular el modelo en el formulario?
El siguiente paso es preparar nuestro formulario para recolectar los datos del usuario, configurando correctamente el modelo y asegurándonos de que estamos utilizando las herramientas del framework eficientemente:
-
Configurar el Formulario:
- Dirígete al componente donde vas a manejar el formulario.
- Importa el modelo
Raidy asígnale un valor predeterminado:
import { Raid } from '../models/raid.model'; const newRaid = new Raid('Default Title', new Date()); -
Crear Inputs Dinámicos:
- En tu vista, crea entradas para los distintos campos que va a tener un 'raid', como título y fecha de inicio:
<ion-item *ngIf="newRaid"> <ion-label position="floating">Título del Raid</ion-label> <ion-input [(ngModel)]="newRaid.title"></ion-input> </ion-item> <ion-item> <ion-label position="floating">Fecha de Inicio</ion-label> <ion-datetime displayFormat="DD/MM/YYYY HH:mm" [(ngModel)]="newRaid.startDate"></ion-datetime> </ion-item> -
Botón de Acción:
- Agrega un botón que ejecute el método
guardarRaidque se encarga de manejar el envío de datos:
<ion-button expand="full" (click)="guardarRaid()">Guardar Raid</ion-button> - Agrega un botón que ejecute el método
¿Cómo manejar respuestas y errores?
Es crucial preparar la aplicación para controlar correctamente las respuestas positivas y las situaciones de error:
-
Suscripción a la Respuesta:
- Una vez que envías la solicitud de creación, necesitas manejar la respuesta de manera asíncrona:
this.raidService.crearRaid(this.newRaid).subscribe({ next: (data) => { console.log('Raid creado exitosamente:', data); alert('Se creó tu rodada'); }, error: (error) => { console.error('Error al crear el raid:', error); alert('No se pudo crear la rodada'); } }); -
Redirección tras Éxito:
- Si se crea el 'raid' correctamente, redirige al usuario para que pueda ver la nueva entrada en la lista de 'raids'.
¿Qué sigue tras la implementación?
Con la funcionalidad básica ya establecida, podemos permitir a los usuarios cambiar detalles del 'raid' creado. Esto incluirá agregar capacidades de edición, manejo de cambios en la hora o destino, asegurando que la experiencia del usuario sea sencilla y efectiva. Continúa iterando sobre estas funcionalidades y mejora la experiencia según las necesidades de tus usuarios.
Este es un ejemplo claro de cómo integrar la programación asíncrona y el manejo de formularios dinámicos en una aplicación web. A medida que perfecciones estas habilidades, verás cómo se amplifica tu capacidad para desarrollar soluciones efectivas y robustas.