Laravel 在销毁方法上路由资源 MethodNotAllowedHttpException

Laravel Route resource MethodNotAllowedHttpException on destroy method

我正在使用资源Laravel路由,由我的routes.php中的以下行定义:

Route::resource('test', 'App\Controllers\Teacher\TestController', ['only' => ['index', 'create', 'destroy']]);

index 方法工作正常。在索引模板中,我创建了一个表单以删除列表中的一个项目。

<form method="DELETE" action="{{ URL::action('App\Controllers\Teacher\TestController@destroy', $audit->id ) }}">
    <input type="submit" value="Remove" />
</form>

URL 由 Laravel 正确生成,但是 当我 post 这个表格 时,我得到以下错误:

exception 'Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException' in /var/www/project/bootstrap/compiled.php:5365

我已经尝试在我的表单的方法属性中通过 POST 更改 DELETE,但它不起作用。

我也读过这个 post 但它对我没有帮助:

当您手动创建表单时,您应该使用 POST 作为方法,并使用带有 delete 值的 _method 输入:

<form method="POST" action="{{ URL::action('App\Controllers\Teacher\TestController@destroy', $audit->id ) }}">
    <input type="hidden" name="_method" value="DELETE" />
    <input type="submit" value="Remove" />
</form>

Reference in Laravel documentation for form method spoofing

试试这个:

<form action="/test" ....>