簡體   English   中英

Laravel - 缺少路由所需的參數

[英]Laravel - Missing required parameters for Route

我在 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)

就我所見,我所做的一切都是正確的。 即使是工匠命令 route:list 也可以清楚地顯示路線及其參數等。

我可能在哪里弄錯了。

令人驚訝的是,如果我將其更改為 {{url('config/id-generation/', $setting)}} 一切似乎都可以正常工作。

您必須將模型變量名稱與資源名稱匹配,您可以使用as自定義它:

Route::group(['prefix'=>'config', 'namespace'=>'Config'], static function () {
    Route::resource('id-generation', 'IDSettingsController',  ['names'=>'config.id_generation', 'as' => 'setting'])->only(['index', 'edit', 'update']);
   
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM