2017-11-28 8 views
1

データベースから1行を削除したいのですが、エラーが発生しています。ここに私のコードです。それを削除するには?リソースルートを使用して1つの行を削除するにはどうすればよいですか?

Route::resource('x', 'xController', ['only' => [ 
    'index', 'store', 'destroy' 
]]); 

<a href="{{ action('[email protected]', $x->id) }}" class="btn btn-danger">Delete</a> 

MethodNotAllowedHttpException in RouteCollection.php line 218: 

答えて

1

あなたは

<form action="/foo/bar" method="POST"> 
    {{ method_field('DELETE') }} 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
</form> 

HTMLフォームがPUTPATCHまたはDELETEアクションをサポートしていない、Form Method Spoofingを使用する必要があります。したがって、PUT,PATCHまたはDELETEのHTMLフォームから呼び出されるルートを定義する場合は、フォームに非表示の_methodフィールドを追加する必要があります。 _methodフィールドで送信された値は、HTTP要求メソッドとして使用されます。

0

リソースコントローラを使用しているので、DELETEメソッドを使用してフォームを使用する必要があります。

<form method="POST" action="{{ action('[email protected]', $x->id) }}"> 
    {{ method_field('DELETE') }} 
    {{ csrf_field() }} 
    <input type="submit" value="Delete" class="btn btn-danger"> 
</form> 
関連する問題