Como puedes observar, cuando borras un mensaje se dirige a DELETE /productos/{id} (mapeado HTTP RESTful API al método destroy() de ProductoController) como tiene que ser. Sin embargo, lo ideal, por cuestión de usabilidad, es que el usuario al pulsar borrar se redirija a la página principal. Para ello, abre app/Http/Controllers/ProductoController.php
y actualiza el método destroy():
public function destroy($id)
{
$producto = Productos::find($id);
$producto->delete();
return redirect('/productos')->with('success', '¡Producto borrado!');
}
En negrita está el código añadido. Si te fijas, es lo mismo que ya has hecho para el método de update().
Si te fijas, las redirecciones vienen acompañadas de un mensaje de texto de tipo success (éxito). Vamos a actualizar la vista resources/views/productos/index.blade.php
para mostrar este tipo de mensajes:
<div class='col-sm-12'>
<h1 class='display-3'>Productos</h1>
@if(session()->get('success'))
<div class='alert alert-success'>
{{ session()->get('success') }}
</div>
@endif
<table class='table table-striped'>
<thead>
En negrita está el código añadido. Por último, en esta misma plantilla y justo debajo del código anterior, vamos a añadir el botón de crear un nuevo producto:
</div>
@endif
<p><a href="{{ route('productos.create')}}" class='btn btn-primary'>Añadir</a></p>
<table class='table table-striped'>
<thead>
En negrita está el código añadido. Vamos a comprobar que funciona. Iniciamos el servidor de desarrollo de Laravel: php artisan serve
. Abrimos el navegador y entramos en http://localhost:8000/productos
.
Curso creado por Manuel Ignacio López Quintero bajo esta licencia.