Closed fbesoainp closed 3 years ago
Si quieres hacer llamado a un método delete, o cualquier método que no sea POST o GET, debes sobreescribirlo, pues http no soporta otro además de GET o POST. ¿Cómo sobreescribirlo? pues lo hemos mostrado en cápsulas, clases y otras issues.
Debes incluir un input type hidden, tal que:
<form action=<%= miRuta %> method="post">
<input type="hidden" name="_method" value="delete">
...
</form>
Saludos!
Recuerda cuando uses tags (y cosas en general) buscar estos para ver cómo funcionan, por ejemplo aqui puedes ver especificaciones del form tag, donde aparece que los únicos métodos que acepta son POST y GET. Después podrías buscar algo tipo 'form tag put method' y llegar a algo como esto
También te recomiendo en vez de usar 'for' para iterar sobre los posts, podrías usar array.forEach( (elemento) => {} ) y así usas cada elemento en el orden que vienen. Tampoco entiendo porque el form en que intentas hacer delete es un dato de uno de los UsersPosts. Por último, puedes pasar el id del post como una variable de la ruta, declarándola como función en el router y así evitas el uso de un "input hidden" para pasar el id.
Tenemos un problema con el post. No esta entrando al delete, pero funciona cuando cambio la ruta a "/" en vez de "/delete". No podemos usar lo mencionado puesto que la ruta post "/" la usamos para el new y el new tampoco funciona a menos de que tenga la ruta "/". Probamos cambiar el post a delete (cambiando en el router y form de la vista), pero tampoco nos funciona el metodo delete de ninguna forma.