Enrutamiento avanzado - respondiendo una pregunta

Clase 22 de 35Curso de Node.js con Hapi

Resumen

Para crear la funcionalidad de respuesta, creamos un método nuevo en el modelo de preguntas llamado answer. Este método nos permitirá insertar con push el objeto con la respuesta individual para una pregunta que será almacenada en un arreglo child llamado answers.

Luego definimos el método respectivo en el controlador de las preguntas y creamos la ruta que manejará el envío de las respuestas desde el formulario.

Es importante tener en cuenta que el ID de la pregunta que estamos respondiendo, corresponde a un input de tipo hidden en la vista, por lo que debemos asignar apropiadamente su valor a partir del key recibido en la ruta.

Finalmente, actualizamos la vista de detalles de pregunta, recordando que las respuestas son un arreglo en la base de datos de Firebase, por lo que deberemos recorrerlo igualmente con la instrucción {#each ... } ... {/each} de handlebars.

Para el conteo de las respuestas crearemos un helper personalizado de handlebars y lo registraremos en el index.js con el método .registerHelper( ‘<nombre helper>’, <función helper> ). Los helpers son funciones de JavaScript que están disponibles globalmente en la aplicación para ser incluídas en cualquiera de las vistas.