Angel Cabrera
Diego Forero
Team PlatziJohan Mora
Paul Cortes
Carlos Eduardo Gomez García
Andrés Giovanni Vanegas Castañeda
Jhonathan Alfonso
YEISON FERNANDO CASTAÑO UBILLUS
Kenneth Angulo L
Renzo Legal
Aarón Soto
Aarón Soto
José Jesús Quilarque
Robinson Pulgarin Torres
Robinson Pulgarin Torres
Jimmy Buriticá Londoño
Usuario anónimo
UserEdward Suarez
¿Por qué no hay nadie por aquí? :o
Siempre hay estudiantes, probablemente la clase es lo suficientemente clara que no ha generado dudas a los estudiantes.
Exacto
Excelente, si me gustaria que tambien se hubiese usado el binding autmatico en los metodos personalizados, lo unico que se debe de hacer era poder el mismo nombre de la variable en la ruta y esa usarlo en el parametro confirmSendMail y sendMail, con el tipo de dato osea metodos:
public function confirmSendMail (ExpenseReport $expenseReport) { ...code }
Rutas WEB:
Route::get('/expense_reports/{expense_report}/confirmSendMail', 'ExpenseReportController@confirmSendMail'); Route::post('/expense_reports/{expense_report}/SendMail', 'ExpenseReportController@SendMail');
En esta clase lo que se hizo fue agregar el botón para ir al formulario de envío de email, en este caso se están manejando las rutas creadas manualmente, y se dejan preparado los controladores para hacer el envío del email:D
Cuando le doy Send Email no me muestra los valores de Json sino 404 no found :(
Bro, revisa tu controlador y revisa si tienes importado los paquetes.
buen día, tengo un problñema con las rutas, no me funciona la decrear ni la se enviar correo, siempre me sale 404 no found
Creo que en el metodo confirmDelete no es necesario preguntarle a la base de datos por el ExpenseReport. . Dado que confirmDelete es un metodo bruto es decir esta accion solo tiene que llamar la vista para enviar el mail, y esta solo necesita recibir el id, no le intereza recibir el reporte completo entonces:
public function willSendMail($id) { $report_id = $id; return view('expenseReport.sendMail', compact('report_id')); }
Es mas podria compactar directamente el id, pero para mantener legibilidad lo igualo a $report_id. . Luego en el formulario paso ese mismo $report_id hacia la ruta de envio de correo, que mediante model binding, resuelve el expense_report completo.
<form class="w-full max-w-sm" method="POST" action="{{ route('sendMail', $report_id) }}">
y este es el metodo para enviar correo
public function sendMail(ExpenseReport $expenseReport) { dd('Enviar mail del reporte: ' . $expenseReport); }
Les paso un link para poder cambiar el idioma de los mensajes de error que nos entrega laraval https://desarrolloweb.com/faq/como-traducir-al-espanol-los-mensajes-de-validacion-de-laravel
He seguido todo el curso al pie de la letra entendiendo lo realizado; pero en esta clase me sale el siguiente error: BadMethodCallException Method App\Http\Controllers\ExpenseReportController::confirmSendMail does not exist. Ya he visto la clase muchas veces y no encuentro donde esta el error, si alguien pudo solucionarlo y me pueda ayudar sería de gran ayuda.
Ya solucioné. Tenía un error de sintaxis en el nombre del método.
Notas:
Laravel que ya se encuentra en v7.2.0 trabaja con los estándares de programación PSR-4 ver https://www.php-fig.org/psr/psr-4/ lo cual podemos consultar en nuestro proyecto directamente en el archivo composer.json, por lo que recomiendo el uso de la primer llave en la definición del método en la línea siguiente como se encuentran definidos los demás métodos creados por defecto y no así: public function confirmSendEmail($id) {
Puntualmente las PHP Standards recommendations o PSR que comentan del estilo del código es: https://www.php-fig.org/psr/psr-12/ Anteriormente era la PSR-2, sin embargo, ya se encuentra obsoleta.
Les comparto la documentación de Laravel para enviar ++Email++. https://laravel.com/docs/7.x/mail
Genial :)
funciono bien.