2017-12-16 5 views
1

私はこれが私のブレードファイルですなぜLaravelの削除ボタンを操作しないのですか?

、タスクはマイlaravelアプリケーションのボタンを削除する必要があり、ボタンを削除

<a href="/projects/{{ $project->id }}/tasks/{{ $task->id }}/delete" class="editInline"><i class="glyphicon glyphicon-trash"></i></a> 

これはTaskControllerが機能

public function deleteOneProjectTask($projectId, $taskId) 
    { 
     DB::table('tasks') 
      ->where('project_id', $projectId) 
      ->where('id', $taskId) 
      ->delete(); 
return redirect()->route('projects.show')->with('info', 'Task deleted successfully'); 
    } 

を削除し、このルート

Route::delete('projects/{projects}/tasks/{tasks}/delete', [ 
    'uses' => '\App\Http\Controllers\[email protected]', 
]); 
です

しかし、次のように削除するとエラーが発生しています。

MethodNotAllowedHttpException in RouteCollection.php line 218: 

どのようにこの問題を解決できますか?あなたがdeleteのための経路を作るよう

<a href="/projects/{{ $project->id }}/tasks/{{ $task->id }}/delete" class="editInline"><i class="glyphicon glyphicon-trash"></i></a> 

のようなアンカーでURLを呼び出し

+0

リンクは取得リクエストであり削除リクエストではありません –

+0

削除リクエストにする方法は? – DNK

答えて

2

getのHTTP動詞ではないDELETEによって、実際にあるので、あなたはget代わりdelete

よう
Route::get('projects/{projects}/tasks/{tasks}/delete', [ 
    'uses' => '\App\Http\Controllers\[email protected]', 
]); 

またはあなたのためにそれをする必要がありますdelete http動詞としてフォームタグのmethod='DELETE'またはajaxのどちらかでhttp動詞をDELETEとすることができます

DELETE HTTP動詞を作るsubmitタイプのボタンでformを使用するには、Read more..

<form action="/projects/{{ $project->id }}/tasks/{{ $task->id }}/delete" method="DELETE"> 
    <button type="submit"><i class="glyphicon glyphicon-trash"></i></button> 
</form> 

はまた、AJAXによって、HTTP動詞DELETEを呼び出すために見this answerを取ります。 ajaxを呼び出すにはonclickイベントを使用してURL内の関連IDを渡します

+0

方法の削除方法 – DNK

+0

@DNK: 'form'タグを使って片方向を確認しました。 – C2486

+0

実際には、タスクを削除するアイコン上にマウスを使っています。だから、** **このタイプのマイタスクへのリンクが必要です。 – DNK

関連する問題