Laravel 5

MethodNotAllowedHttpException

  • Avatar de SergeKonan
    Membre depuis :
    16/06/2017
    Messages :
    10

    Salut à la famille.
    je suis bloqué sur la modification des données d'u formumaire.
    Bon en réalité j'ai déja tous gerer, je crois l'erreur proviens d'une route mal configuré mais je ne sais pas où.
    help me.
    voici le code de mon formulaire:

    <form action="{{ route('modifier_pays_post', $mods->id) }}" method="post" class="col-sm-8">
    {{ csrf_field() }}
    <div class="form-group">
    {!! $errors->first('superficie', '<p class="error">:message</p>') !!}
    <label for="control-label">Population</label>
    <input class="form-control" type="text" name="population"">
    </div>
    <div class="form-group">
    {!! $errors->first('superficie', '<p class="error">:message</p>') !!}
    <label for="control-label">Superficie</label>
    <input class="form-control" type="text" name="superficie">
    </div>
    <div class="form-group">
    {!! $errors->first('superficie', '<p class="error">:message</p>') !!}
    <label for="control-label">Situation économique</label>
    <input class="form-control" type="text" name="situation_economique">
    </div>

    <div class="form-group">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <input class="form-control btn btn-primary" type="submit" value="Enregistrer">
    </div>
    </form>

    route:
    ``` Route::post('/admins/modifier-pays/{id}', 'AdminController@modifier_pays_post')->name('modifier_pays_post')->where('id', '[0-9]+');

    et enfin le controller:

    public function modifier_pays_post(Request $request, $id)
    {
    $this->validate($request, [
    'population' => 'bail|required',
    'superficie' =>'bail|required',
    'situation_economique' => 'bail|required',
    ]);

    $event=Pays::findOrFail($id);
    dd($event);
    $event->update([
    'population' => $request->population,
    'superficie' => $request->superficie,
    'situation_economique' => $request->situation_economique
    ]);

    return view('admins/pays-listes', $event);
    }


    MethodNotAllowedHttpException
    dans RouteCollection.php (ligne 251)
    à RouteCollection -> methodNotAllowed ( array ('GET', 'HEAD', 'POST') )
    dans RouteCollection.php (ligne 238)
  • Avatar de stockhausen
    Membre depuis :
    05/11/2013
    Messages :
    31

    Bonjour,

    je crois qu'une mise à jour c'est un PUT ajoute cela

    <input name="_method" type="hidden" value="PUT">
  • Avatar de SergeKonan
    Membre depuis :
    16/06/2017
    Messages :
    10

    merci pour l'interêt que tu accorde a mon problème.
    je viens de l'ajouter mais le problème persiste

  • Avatar de stockhausen
    Membre depuis :
    05/11/2013
    Messages :
    31

    ou alors ta route n'est pas bonne en tout cas c'est un problème de route.

    {{ route('modifier_pays_post', $mods->id) }} Route::post('/admins/modifier-pays/{id}', 'AdminController@modifier_pays_post')->name('modifier_pays_post')->where('id', '[0-9]+'); {{ route('/admins/modifier-pays/'.$mods->id) }}
  • Avatar de Devonab
    Membre depuis :
    12/02/2016
    Messages :
    16

    Hello,
    Penses à modifier ta route aussi.

    Route::put('/admins/modifier-pays/{id}', 'AdminController@modifier_pays_post')->name('modifier_pays_post')->where('id', '[0-9]+');
  • Avatar de SergeKonan
    Membre depuis :
    16/06/2017
    Messages :
    10

    après avoir modifier la route sa marche mais l'erreur à changer. c'est MassAssignmentException.
    Logiquement c'est comme ci j'étais entrain de changer de valeur directement or c'est depuis un interface exterieure d'où je dois declarer encore une variable $filable = [].
    je sais dans quel model le faire et quoi metre dans le crochet.
    Dans l'url j'ai toujours l'id qui existe, es ce l'erreur de provient par de la bas.

Vous ne pouvez pas répondre à ce sujet.