Estoy apendiendo mucho con las clases :) . Gracias profe, gracias Platzi!
Recursos
Resumen
Configurar las vistas de creación y edición en Laravel se simplifica cuando reutilizas un mismo formulario para ambas acciones. Aquí aprenderás a estructurar los métodos create y edit del controlador, crear vistas Blade reutilizables y enlazar las rutas correctas para que tu CRUD funcione sin duplicar código.
¿Cómo se configuran los métodos create y edit en el controlador?
Los métodos create y edit cumplen funciones distintas dentro del controlador, pero comparten una lógica parecida: ambos retornan una vista que contendrá el formulario.
El método create simplemente devuelve la vista de creación sin parámetros adicionales. El método edit, en cambio, necesita recibir el registro que quieres modificar y pasarlo a la vista para precargar los datos.
createretorna la vistapost.create.editrecibe un$posty lo envía a la vistapost.edit.- Ambos métodos pueden escribirse en una sola línea para mantener el código limpio.
¿Por qué edit necesita un parámetro y create no? Porque editar implica modificar un registro existente, así que debes saber cuál registro vas a alterar. Crear, en cambio, parte de cero.
¿Cómo reutilizar un formulario entre creación y edición?
La clave está en separar el formulario en un archivo parcial que ambas vistas puedan incluir. Así evitas duplicar campos, validaciones y estructura HTML.
¿Qué es una vista parcial en Blade?
Una vista parcial en Laravel es un archivo Blade que funciona como fragmento dentro de otra vista. Se identifica con un guion bajo al inicio del nombre, por ejemplo _form.blade.php. No se renderiza sola, sino que se inserta mediante la directiva @include.
Esta convención del underscore es una práctica común para señalar que el archivo no es una vista completa, sino un componente reutilizable.
¿Cómo se diferencian las rutas en cada formulario?
Aunque el conjunto de controles sea idéntico, el formulario contenedor cambia según la acción:
- En creación, el formulario apunta a la ruta
post.storecon métodoPOST. - En edición, apunta a la ruta de actualización pasando el
$postcomo parámetro y declarando la intención de editar mediante el método correspondiente. - Ambos formularios incluyen el mismo parcial con
@include('post._form').
¿Qué hace el guion bajo en
_form.blade.php? Indica que es una vista parcial pensada para incluirse dentro de otras vistas, no para renderizarse por sí sola.
¿Cómo enlazar los botones de crear y editar desde el index?
Para que los usuarios accedan a estas vistas, necesitas actualizar la vista index con los enlaces correspondientes. El botón de crear se ubica dentro del H2 principal, y el botón de editar acompaña a cada registro listado.
La ruta de edición sigue el estándar de Laravel: post.edit recibiendo el $post como parámetro. La ruta de creación se invoca con la función route() apuntando al nombre definido en tu archivo de rutas.
¿Cómo aplicar estilos consistentes a los botones del CRUD?
Reutilizar las clases del botón de eliminar para el botón de editar mantiene la coherencia visual. Solo necesitas ajustar el tamaño y los espacios:
- Cambia el padding horizontal de
4a2. - Cambia el padding vertical de
2a1. - Agrega la clase
xspara hacerlo más pequeño. - Convierte el
H2en un contenedor flex para alinear el título y el botón en esquinas opuestas.
Con flex y la utilidad de espaciado entre elementos, el título queda a la izquierda y el botón a la derecha, sin necesidad de márgenes manuales.
¿Para qué sirve display flex en este caso? Permite alinear el título y el botón en una misma línea, distribuyendo el espacio para que cada elemento quede en una esquina opuesta del contenedor.
¿Qué practicar después de esta configuración inicial?
Antes de pasar a la lógica de guardado y actualización, asegúrate de tener lista la base estructural:
- Crea el archivo parcial
_form.blade.phpcon los campos del formulario. - Construye la vista
create.blade.phpque incluye el parcial y apunta apost.store. - Construye la vista
edit.blade.phpque incluye el mismo parcial pero apunta a la ruta de actualización con el$post. - Ajusta las clases CSS de los botones para mantener consistencia visual.
Este patrón de partial views con @include es una de las prácticas más eficientes en Laravel porque centraliza los cambios: si modificas un campo del formulario, se actualiza tanto en creación como en edición automáticamente.
¿Ya configuraste tus vistas parciales? Cuéntame en los comentarios cómo organizas los formularios reutilizables en tus proyectos Laravel.