2016-02-28 70 views
0

我正在使用laravel 5.2,我无法删除laravel中的文章。下面是我的看法链接:无法在laravel中删除

<form method="DELETE" action="/article/{{ $article->id }}"> 
{{ csrf_field() }} 
<button class="btn btn-danger" type="submit">Delete</button> 
</form> 

下面是我的控制器代码:

public function destroy($id) 
{ 
    Article::destroy($id); 
    Session::flash('msg','Article deleted successfully'); 
    return redirect()->back(); 
} 

下面是路线清单: enter image description here

+0

显示控制器代码你写的.. – pritesh

+0

显示控制器代码你写的.. – pritesh

+0

我们也需要你的路由文件 –

回答

0

HTML表单实际上不支持除GET和其他任何方法POST。为了解决这个Laravel欺骗的方法,然后在请求中选择这个。

docs

HTML表单不支持PUTPATCHDELETE行动。所以,当 定义从HTML 窗体调用的PUT,PATCHDELETE路由时,您需要向窗体添加隐藏的_method字段。与_method现场发送的 值将作为HTTP请求 方法

这样,你只需要改变你的形式,像这样:

<form method="POST" action="/article/{{ $article->id }}"> 
    {{ csrf_field() }} 
    <input type="hidden" name="_method" value="DELETE"> 
    <button class="btn btn-danger" type="submit">Delete</button> 
</form> 

您还可以生成_method与使用刀片的{{ method_field('DELETE') }}

+0

谢谢。它就像一个魅力:-) –

+0

@AliRaza很高兴听到它!如果能解决您的问题,请接受答案,如果可以的话,请接受答案。 – James

+0

不幸的是我有不到15的声望!我尝试了你的回答 –

0

在视图文件,你需要做的是什么...

<form method="POST" action="/article/{{ $article->id }}"> 
<input type="hidden" name="_method" value="DELETE"> 
{{ csrf_field() }} 
<button class="btn btn-danger" type="submit">Delete</button> 
</form> 
+0

正确。谢谢 –