此路由不支持 GET 方法。支持:POST

我的表格:


 @if(!empty($Product) && !empty($ProductSpec))

            <form action="{{route('update_product')}}" method="POST">

                    <div class="form-group">

                        <label for="product_code">Product Code</label>

                        <input class="form-control" name="product_code" id="product_code" type="text" placeholder="product code..." value="{{$Product->product_code}}">

                    </div>

                    @error('product_code')

                    <div class="alert alert-danger">{{ $message }}</div>

                    @enderror


                    <div class="form-group">

                        <button type="submit" class="btn btn-primary">Update information</button>

                    </div>

                    {{ csrf_field() }}

                </form>

                @endif

路线:


Route::resource('add_product','ProductController');

Route::get('edit_product', 'ProductController@find_product_index')->name("edit_product");

Route::post('find_product', 'ProductController@find_product')->name("find_product");

Route::post('update_product', 'ProductController@update_product')->name("update_product");


Auth::routes();


Route::get('/home', 'HomeController@index')->name('home');

控制器功能:


public function update_product(Request $request)

{

    $this->validate($request, [

        'name' => 'required|max:120|string']);

    return redirect()->route('edit_product')->with('success', 'Product Updated successfully');

}

我正在使用此代码并收到“此路由不支持 Get 方法,支持:POST”错误。不知道我的代码有什么问题?起初我以为是来自控制器的 MySQL 语句,但我删除了它们,但我仍然遇到同样的问题。


编辑: php artisan route:list shows -> image


慕虎7371278
浏览 167回答 2
2回答

阿波罗的战车

你的路线应该是:Route::put('update_product/{update_product} ', 'ProductController@update_product')->name("update_product");你的表格应该是这样的:......{{ csrf_field() }}@method('PUT')</form>

慕工程0101907

运行php artisan optimize以清除并重新配置缓存和路由。清除你的路线是不够的。
打开App,查看更多内容
随时随地看视频慕课网APP