Sam*_*zon 2 php laravel laravel-4 laravel-routing
我在routes.php中使用由以下行定义的资源Laravel路由:
Route::resource('test', 'App\Controllers\Teacher\TestController', ['only' => ['index', 'create', 'destroy']]);
Run Code Online (Sandbox Code Playgroud)
该指数法正常工作.在索引模板中,我创建了一个表单,以便删除列表中的项目.
<form method="DELETE" action="{{ URL::action('App\Controllers\Teacher\TestController@destroy', $audit->id ) }}">
<input type="submit" value="Remove" />
</form>
Run Code Online (Sandbox Code Playgroud)
Laravel正确生成了URL,但是当我发布此表单时,我收到以下错误:
exception 'Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException' in /var/www/project/bootstrap/compiled.php:5365
Run Code Online (Sandbox Code Playgroud)
我已经尝试在我的表单的方法属性中通过POST更改DELETE但它不起作用.
我也读过这篇文章,但它对我没有帮助:资源定义方法Laravel-4上的MethodNotAllowedHttpException
当您手动创建表单时,您应该使用POSTas方法,并_method以delete这种方式使用值:
<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>
Run Code Online (Sandbox Code Playgroud)