2017-11-28 17 views
1

Ich möchte eine Zeile aus der Datenbank löschen, aber ich erhalte einen Fehler. Hier ist mein Code. Wie lösche ich das?Wie lösche ich eine Zeile mit Ressourcenrouten?

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: 

Antwort

1

Sie müssen Form Method Spoofing verwenden,

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

HTML-Formulare nicht unterstützen PUT, PATCH oder DELETE Aktionen. Wenn Sie die Routen PUT, PATCH oder DELETE definieren, die aus einem HTML-Formular aufgerufen werden, müssen Sie dem Formular ein verstecktes Feld _method hinzufügen. Der mit dem Feld _method gesendete Wert wird als HTTP-Anforderungsmethode verwendet.

0

Sie müssen ein Formular mit DELETE Methode verwenden, da Sie Ressource-Controller verwenden.

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