【发布时间】:2017-08-03 06:27:27
【问题描述】:
我试图按照 Laravel 上的 this 教程进行操作,尽管那里的大部分代码和目录都已过时,但我还是设法使“添加任务”和表单在出现一些错误后显示出来。
现在的问题,删除按钮。 当我点击它时,它显示一个“MethodNotAllowedHttpException”。 我更改了源代码以匹配最新版本的 Laravel。
我的表格(当前版本):
<form action="{{ url('/task/'.$task->id) }}" method="POST">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<button type="submit" class="btn btn-danger">
<i class="fa fa-btn fa-trash"></i>Delete
</button>
</form>
我的路线:
Route::delete('/task/{id}', function ($id) {
Task::findOrFail($id)->delete();
return redirect('/');
});
我已经尝试了 4 个小时来解决这个问题,改变了我的路线和形式的方法;但无济于事。 这是我在这个网站上的第一个问题,如果这个问题有问题,请见谅。
谢谢~
编辑: 为了进一步帮助工作,这里是完整的错误日志 Error log, in Google Chrome
【问题讨论】:
-
你应该使用method="post",然后像你已经做的那样使用帮助器“方法字段”
-
@ClaudioLudovicoPanetta 感谢您的快速响应,但是从“删除”更改为“发布”使删除按钮的行为类似于教程中的“添加任务”按钮;因为它返回一个验证错误(“名称字段是必需的”),而不是实际从数据库中删除“任务”。
-
当你已经通过
_method的隐藏字段时,你不需要{{method_field('delete')}} -
@StephenHendricks 感谢您的评论,我排除了“method_field”,也排除了“_method”可互换,选择一个或另一个;但仍未修复。
-
我们不在这里进行 [已解决] 编辑,您会添加一个自我回答吗?谢谢!