支持的方法:PATCH、DELETE [已关闭]

Supported methods: PATCH, DELETE [closed]

提问人:MOHAMED KESSOUM 提问时间:11/14/2023 最后编辑:Mark RotteveelMOHAMED KESSOUM 更新时间:11/15/2023 访问量:41

问:


这个问题是由一个错别字或一个无法再重现的问题引起的。虽然类似的问题可能在这里成为主题,但这个问题的解决方式不太可能帮助未来的读者。

8天前关闭。

我是 Laravel 的新手,我正在尝试更新购物车中的商品数量,因此我设置了以下路线:

Route::patch('/item/{rowId}', [CartController::class, 'update'])->name('item.update');

我的表单代码是这样的:

<form action="{{ route('item-update', $items->rowId)}}" method="PUT">
    @method('PUT')
    @csrf
    <span>
        <button type="submit"><span style="color:blue">
         Mettre à jour le panier</span></button>
    </span>
</form>

我尝试了所有方法,但仍然无法访问控制器中的更新方法:

public function update(Request $request, $rowId)
{
    //
}

我做错了什么?

Laravel 邮政 路线 方法

评论

3赞 aynber 11/14/2023
你的路线说,你的方法说.它们不一样。patchput
0赞 MOHAMED KESSOUM 11/14/2023
我应该给它们起什么名字? 或putpatch
1赞 brombeer 11/14/2023
method="PUT"无效。应该是method="POST"
0赞 MOHAMED KESSOUM 11/14/2023
路线呢?
0赞 aynber 11/14/2023
任何一个都可以。PUT 和 PATCH 都很好,Laravel 都支持。你使用哪一个取决于你。某处有一个关于每个应该用于什么的指南,但这不是一个硬性规定

答:

0赞 Ali Özen 11/14/2023 #1

Route::patch并没有错。 但是,这是公认的做法。method="PUT"Route::patchmethod="POST"

这里真正的问题是路由名称不匹配,并且...->name('item.update');{{ route('item-update',...

更改为route('item-update')route('item.update')