2017-10-15 1 views
0

Ich bin ein Amateur in Laravel. Ich benutze Laravel 5.4. Ich möchte den Prozess ohne Formularbindung löschen lassen, aber ich habe eine Fehlermeldung wie diese. Bitte sag mir, wie ich das lösen kann.Laravel 5.4 MethodNotAllowedHttpException in RouteCollection.php (Linie 251)

Route:

Route::delete('test/{id}','[email protected]'); 

Meine Form:

<td><button type="button" class="btn"><a href="{{URL::to('coba/test/'.$post->id.'/edit') }}" >Edit</a></button><button type="button" class="btn"><a href="{{ action('[email protected]', $post['id']) }}" method="post" >Hapus</a></button>{{ csrf_field() }}{{ method_field('DELETE') }} 
    </td> 

Mein Controller:

public function destroy($id) 
{ 
    $post = Post::find($id); 
    $post->delete(); 
    return redirect()->to('coba/test');` 
} 
+0

orang Indonesien ke ni ?? übrigens statt {{URL :: to ('coba/test /'.$ post-> id.'/Edit ')}} ', kenape tak guna' {{route (' routename ', [ "id", $ post-> id])}} .... sebelum tu, jangan lupa kasi name dulu pada route tadi 'Route :: löschen ('test/{id}', 'TestController @ destroy ') -> name (' routename') ' –

+0

Href auf einem Anker-HTML-Element führt zu einem GET-Aufruf, aber Ihre Route erwartet einen Delete-Aufruf. Sie haben einige Möglichkeiten, um sicherzustellen, dass Sie einen Löschanruf erhalten. –

+0

Iya :) @SysamsoulAzrien .. Sudah Saya Coba Cuman Masih Sama Fehler Nya – Atmojo211

Antwort

0

Href auf einem Anker HTML-Element in einer GET-Aufruf führt aber Ihre Route erwarten ein Anruf löschen Sie haben einige Möglichkeiten, um sicherzustellen, dass Sie einen Löschanruf erhalten.

Eine der gebräuchlichsten Methoden besteht darin, stattdessen ein Formular zu verwenden, um Daten an Ihren Server zu senden.

löschen

{{ Form::open(['url' => 'test/'.$post->id, 'method' => 'DELETE']) }} 
    {{ Form::button('delete', ['type' => 'submit', 
           'class' => 'btn']) }} 
    {{ Form::close() }} 

bearbeiten

{{ Form::open(['url' => 'coba/test/'.$post->id.'/edit', 'method' => 'POST']) }} 
    {{ Form::button('delete', ['type' => 'submit', 
           'class' => 'btn']) }} 
    {{ Form::close() }} 

Für Best Practice Ihre Controller-Code Ich empfehle nur einmal {{ Form::open(...) }} {{ Form::close() }} zu verwenden und Refactoring, so dass es den Wert aus den Tasten lesen und übersetzen dass Sie in der entsprechenden ID des Posts nicht mehrere HTML-Formulare in Ihrem Code haben.

+0

dank seiner Arbeit .. es ist sehr Verständnis als das, was ich vorher benutze. Vielen Dank – Atmojo211

Verwandte Themen