У меня есть ссылка для отписки от писем, но когда я нажимаю на ссылку, я получаю ошибку 404.
это мой код.
Во-первых, это генерация ссылки для отписки с подписанным маршрутом (ссылка в порядке)
private function generateUnsubscribeLink($meoId, $email)
{
return URL::signedRoute(
'meo.confirm-unsubscribe', [
'meo' => $meoId,
'email' => $email
]
);
}
далее, это мои маршруты web.php
Route::get('/unsubscribe/{meo}/{email}', 'MeoMailController@confirmUnsubscribe')->name('meo.confirm-unsubscribe');
Route::post('/unsubscribe/confirmed/{meo}/{email}', 'MeoMailController@unsubscribe')->name('meo.unsubscribe');
и, наконец, это мой контроллер
public function confirmUnsubscribe(Request $request, Meo $meo, MailRecipient $email){
if (!$request->hasValidSignature()) {
abort(401);
}
return view('mail.confirm_unsubscribe', compact(['request', 'meo', 'email']));
}
public function unsubscribe(Meo $meo, MailRecipient $email)
{
$email->state = MailRecipientState::UNSUBSCRIBED;
$email->save();
return view('mail.unsubscribed');
}
конечным результатом этого является то, что когда я нажимаю на ссылку отписки, возникает ошибка 404
ссылка для отказа от подписки/meoId/[email protected]?SIGNEDROUTE
что здесь не так?
Раньше я использовал тот же метод, но без электронной почты (только с использованием meoId) и работал правильно.
MailRecipient
не найдена - person Muhammad Dyas Yaskur   schedule 31.01.2021MailRecipient
? модель или библиотечная функция? - person Muhammad Dyas Yaskur   schedule 31.01.2021