路由 [/math/{ $math->id }/question] 未定义

Route [/math/{ $math->id }/question] not defined

提问人:Iam-kelvin 提问时间:6/19/2021 更新时间:6/19/2021 访问量:74

问:

我之前正在做一个项目,遇到了这个错误

Symfony\Component\Routing\Exception\RouteNotFoundException 路由 [/math/{ $math->id }/question] 未定义。

这是我的路线:

Route::post('/math/{math}/question', [App\Http\Controllers\QuestionController::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'));
}

我做错了什么?

php laravel 路由 laravel-8 laravel-routing

评论


答:

1赞 pullidea-dev 6/19/2021 #1
Route::post('/math/{math}/question', [App\Http\Controllers\QuestionController::class, 'store'])->name('mathQuestion')->middleware('auth');

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

评论

0赞 Iam-kelvin 6/19/2021
工作完美!谢谢
1赞 Tim Lewis 6/19/2021 #2
  • 1st,使用参数。route()->name()
  • 2、不是一个好的路线名称。math/{math}/question

将你的名字改成一些有意义的名字,比如然后修复你的代码:math_question,

Route::post('/math/{math}/question', [App\Http\Controllers\QuestionController::class, 'store'])->name('math_question')->middleware('auth');

然后:

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