尝试在页面上执行此操作:
<form class="form-horizontal" role="form" method="DELETE" action="/user/{{ $user->id }}/delete">
<button type="submit" class="btn btn-danger">
Delete
</button>
</form>
路线:
Route::delete('user/{id}/delete', ['middleware' => ['admin'],
'uses' => 'Auth\UserController@destroy']);
控制器:
class UserController extends Controller
{
public function destroy($id)
{
DB::table('users')->where('id', $id)->delete();
return view('admin/dash');
}
}
我在RouteCollection.php中收到MethodNotAllowedHttpException。 我该如何解决?
感谢Josh。我通过将表单更改为
来解决它<form method="POST" action="/user/{{ $user->id }}/delete">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="_method" value="DELETE" />
<button type="submit" class="btn btn-danger">
Delete
</button>
</form>
答案 0 :(得分:3)
在某些HTML版本的某些实现中,只允许使用GET和POST作为方法。
您可以通过添加自己处理的附加属性_method
来解决此问题,也可以使用JavaScript。
如果您正在使用Chrome,请查看开发人员工具中的“网络”标签,以验证是否存在此问题,或将请求添加到帖子中以进行进一步诊断。
有关详细信息,请参阅here。