我在Laravel 7中的路线有问题,不知道我在哪里,在这里出错。
我有这个路由声明:
Route::group(['prefix'=>'config', 'namespace'=>'Config'], static function () {
Route::resource('id-generation', 'IDSettingsController', ['names'=>'config.id_generation'])->only(['index', 'edit', 'update']);
});然后是一个控制器:
public function edit(IdSetting $setting)
{
return view('config.id.edit')->with(['setting'=>$setting]);
}然后是一个视图:
<form method="post" action="{{route('config.id_generation.update', ['id_generation'=>$setting])}}">
@method('patch')
@csrf
<x-inputs.text-input name="prefix" :model-object="$setting" />
<x-inputs.button/>
</form>但我一直收到错误:
Illuminate\Routing\Exceptions\UrlGenerationException
Missing required parameters for [Route: config.id_generation.update] [URI: config/id-generation/{id_generation}].(View: F:\PROJECTS\PHP\app\resources\views\config\id\edit.blade.php)在我所能看到的范围内,我做的一切都是正确的。即使是artisan命令route:list也可以清楚地显示路由及其参数等。
我可能在哪里弄错了。
令人惊讶的是,如果我将其更改为{{url('config/id-generation/',$setting)}},一切似乎都运行正常。
发布于 2020-09-07 20:54:20
您必须将模型变量名称与资源名称相匹配,您可以使用as对其进行自定义
Route::group(['prefix'=>'config', 'namespace'=>'Config'], static function () {
Route::resource('id-generation', 'IDSettingsController', ['names'=>'config.id_generation', 'as' => 'setting'])->only(['index', 'edit', 'update']);
});https://stackoverflow.com/questions/63776444
复制相似问题