MethodNotAllowedHttpException dans RouteCollection.php ligne 218:4
Je vais obtenir MethodNotAllowedHttpException lors de la soumission d'un formulaire dans laravel
Fichier Html
<form method="POST" action="/cards/{{$card->id}}/notes">
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
<textarea name="body" class="form-control"></textarea>
<button type="submit">Add Note</button>
</form>
routes.php
Route::post('cards/{card}/notes','NotesController@store');
NotesController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class NotesController extends Controller
{
public function store()
{
return request()->all();
}
}
- Pouvez-vous afficher le code html généré?
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que vous n'avez pas de route, dire un
Route::post
avec un paramètre qui se trouve en face de la route vous essayez de frapper.Par exemple:
Dans ce cas, peu importe ce que vous essayez d'envoyer les cartes de route, il va toujours frappé le
something
route parce qu'{something}
est d'interceptercards
comme un paramètre valide et déclenche leSomethingController
.Mettre le
something
itinéraire ci-dessous les cartes de route et cela devrait fonctionner.MethodNotAllowedHttpException
est levée lors de l'absence de correspondance route (méthode et URI) a été trouvé, mais une route avec un correspondant URI, mais pas la méthode de correspondance a été trouvée.Dans votre cas, je suppose que le problème est que les paramètres URI diffèrent entre la route et le contrôleur.
Ici sont deux alternatives, que vous pouvez essayer:
J'ai essayé de résoudre cette erreur dans la lumière et il m'a fallu beaucoup de temps pour comprendre le problème.
Le problème, c'est avec laravel lui-même.
Donc ce que vous devez faire est de modifier le parcours
POST device
àPOST device/add
Ce lien m'a beaucoup aidé