Маршрут [/math/{ $math->идентификатор }/вопрос] не определен

#php #laravel #routes #laravel-8 #laravel-routing

Вопрос:

Я работал над проектом ранее и столкнулся с этой ошибкой

SymfonyКомпонентМаршрутизацияИсключениеRouteNotFoundException Маршрут [/math/{ $math->идентификатор }/вопрос] не определен.

Вот мой маршрут:

 Route::post('/math/{math}/question', [AppHttpControllersQuestionController::class, 'store'])->name('/math/{math}/question')->middleware('auth');
 

Маршрут Блейд-файла:

 <form action="{{ route('/math/{ $math->id }/question') }}" method="post">
 

Контроллер:

 public function create(Math $math)
{
    return view('question.create', compact('math'));
}
 

Что я делаю не так?

Ответ №1:

  • 1-й, route() использует ->name() параметр.
  • 2-е, math/{math}/question не очень хорошее название маршрута.

Измените свое имя на что-нибудь бессмысленное, например math_question, , исправьте свой код:

 Route::post('/math/{math}/question', [AppHttpControllersQuestionController::class, 'store'])->name('math_question')->middleware('auth');
 

Затем:

 <form action="{{ route('math_question', ['math' => $math->id]) }}" method="post">
 

Ответ №2:

 Route::post('/math/{math}/question', [AppHttpControllersQuestionController::class, 'store'])->name('mathQuestion')->middleware('auth');

<form action="{{ route('mathQuestion', ['math' => $math->id]) }}" method="post">
 

Комментарии:

1. Сработало идеально! Спасибо вам