2016-02-28 71 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

正確。謝謝 –