2017-11-29 8 views
0

Ich habe ein Update Form und wenn ich spare ich diese FehlermeldungLaravel MethodNotAllowedHttpException ...... wieder

(1/1) MethodNotAllowedHttpException in RouteCollection.php (Linie 251)

bei RouteCollection-> methodNotAllowed (array ('GET', 'HEAD', 'POST')) in

RouteCollection.php (Linie 238)

Hier ist meine Form

<form enctype="multipart/form-data" action="{{route('products.update', $product->ProductId)}}" method="POST"> 
    {{ method_field('PUT') }} 
    {!! csrf_field() !!} 

und meine Routen

Route::get('products', '[email protected]')->name('products.index'); 
Route::post('products', '[email protected]')->name('products.search'); 
Route::get('products/create', '[email protected]')->name('products.create'); 
Route::post('products/create', '[email protected]')->name('products.store'); 
Route::get('products/{id}', '[email protected]')->name('products.show'); 
Route::get('products/{id}/edit', '[email protected]')->name('products.edit'); 
Route::post('products/{id}/edit', '[email protected]')->name('products.update'); 

Die Routenliste sieht gut aus, außer dem Update Route während andere Updates Routen PUT verwenden | PATCH

| | POST | Produkte/{id}/edit products.update | \ Http \ Controller \ ProductController @ update | web, auth

Soweit ich sehen kann, sollte alles funktionieren, warum wird die Methode nicht aktualisiert?

+0

Könnten Sie 'Route ändern :: Post ('Produkte/{id}/bearbeiten', ...' auf 'Strecke :: put ('Produkte/{id}/bearbeiten', ...' und sehen, was das tut? – Loek

Antwort

0

Sie erklärt Ihre Route als POST.

dann in Form fälschen Sie die PUT Methode.

POST != PUT.

Die Route ist die Methode nicht zu handhaben PUT definiert. Die von Ihnen definierte Methode ist die Methode, die verwendet werden muss.

Verwandte Themen