【发布时间】:2021-05-18 08:18:15
【问题描述】:
当我尝试访问 detail.blade.php 时出现错误,提示“缺少 [Route: admin.request.update] [URI: admin/request/{request}] [Missing parameter: request] 的必需参数."。我不知道我哪里做错了,因为我复制的步骤和代码与我的其他项目完全相同(编辑数据)。
这是我的 detail.blade.php :
<form action="{{ route('admin.request.update', $requestStock) }}" method="POST">
@csrf
{{ method_field('PUT') }}
<div class="form-group row">
<label for="name" class="col-sm-2 col-form-label">Name</label>
<div class="col-sm-10">
<textarea class="form-control" id="name" name="name" rows="3" readonly value="{{ $requestStock->name }}"></textarea>
</div>
</div>
<div class="form-group row">
<label for="status" class="col-sm-2 col-form-label">Complete</label>
<div class="col-sm-10">
<select class=" form-control" name="status" id="status">
<option name="status" value="1" {{ $requestStock->status == '1' ? 'selected' : ''}}> Not Completed </option>
<option name="status" value="0" {{ $requestStock->status == '0' ? 'selected' : ''}}> Complete </option>
</select>
</div>
</div>
<button type="submit" class="btn btn-secondary" style="margin-top: 20px; width: 100%">Update</button>
</form>
这是我的 RequestPageController :
public function edit(RequestStock $requestStock)
{
return view('admin.request.detail')->with([
'requestStock' => $requestStock,
]);
}
public function update(Request $request, RequestStock $requestStock)
{
$requestStock->status = $request->status;
$requestStock->save();
return redirect()->route('admin.request.index');
}
路线:
Route::namespace("App\Http\Controllers\Admin")->prefix("admin")->name("admin.")->middleware('can:adminpage')->group(function () {
Route::resource("/request", RequestPageController::class);
});
谢谢。
【问题讨论】:
-
请也发布您的路线。首先,尝试
{{ route('admin.request.update', ['request' => $requestStock]) }} -
@brombeer 我已经更新了我的问题,我也尝试了你的建议,但仍然遇到同样的错误
-
使用 php artisan optimize:clear 清除路由缓存,然后再试一次