我在創建或編輯表單時收到此錯誤,您知道它是來自這些視圖之一還是來自控制器?
缺少 [Route: forms.show] [URI: forms/{form}] [缺少引數:form] 的必需引數
感謝您的幫助,這是我在這里的第一篇文章。
下面的代碼:
控制器表單控制器:
public function create()
{
if (!Auth::check()) {
return redirect('login');
}
return view('forms.create');
}
public function show($id)
{
return view('forms.consult', ['forms' => Forms::findOrFail($id)]);
}
public function update(StoreFormsRequest $request, Forms $forms)
{
if (!Auth::check()) {
return redirect('login');
}
$request->validated();
$forms->update($request->input());
return redirect()->route('forms.show', ['forms' => $forms]);
}
public function edit($id)
{
if (!Auth::check()) {
return redirect('login');
}
return view('forms.edit', ['forms' => Forms::findOrFail($id)]);
}
查看 create.blade.php:
<form action="{{ url('forms') }}" method="POST">
@csrf
...
<button class="btn btn-primary mb-1 mr-1" type="submit"> Ajouter </button>
</form>
edit.blade.php :
<form action="{{ url('forms', [$forms->id]) }}" method="POST">
@csrf
@method('PUT')
...
<button class="btn btn-primary mb-1 mr-1" type="submit"> Modifier </button>
</form>
路線
web.php :
Route::get('/', [FormsController::class, 'index']);
Route::resource('forms', FormsController::class);
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::get('/home', [App\Http\Controllers\FormsController::class, 'index'])->name('home');
uj5u.com熱心網友回復:
問題是您的控制器傳遞了一個名為forms 而不是form. 但是您的路線正在排除一個form引數。
改變這個:
return redirect()->route('forms.show', ['forms' => $forms]);
對此:
return redirect()->route('forms.show', ['form' => $forms]);
uj5u.com熱心網友回復:
確保您將“表單”引數傳遞給路由。 在視圖中使用輔助方法,例如
{{ route('forms.show', ['form' => 1]) }}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/354119.html
上一篇:Linuxbash:如何根據另一行/不同行上的模式替換一行上的字串?
下一篇:存盤HTML資料
