Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException im update
Wenn ich auf update-button bekomme ich nächste Fehler:
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
Keine Nachricht
Für das update-ich habe die nächsten Routen:
Route::post('edit/user/{id}','UsersController@update');
Route::get('edit/user/{id}','UsersController@edit');
Wie Sie sehen, verwende ich post-Methode für die Aktualisierung.
Mein controller code:
public function edit($id){
$user = User::where('id',$id)
->first();
return view('user.edit', compact('user','id'));
}
public function update(Request $request, $id){
$user = new User();
$data_user = $this->validate($request,$rules_user);
$data_user['id'] = $id;
$user->updateUser($data_user);
return redirect('/users');
}
Meine update.blade.php code:
@extends('layouts.app')
@section('content')
<div class="container">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div><br />
@endif
<div class="row">
<form method="post" action="{{action('UsersController@update', $id)}}" >
{{csrf_field()}}
<input name="_method" type="hidden" value="PATCH">
<div class="form-group">
<input type="hidden" value="{{csrf_token()}}" name="_token" />
<label for="name">User name:</label>
<input type="text" class="form-control" name="name" value={{$user->name}} />
</div>
<button type="submit" class="btn btn-primary">Update</button>
</form>
</div>
</div>
@endsection
- hier
value={{$user->name}}
solltevalue="{{$user->name}}"
otherewise zeigt es nur ein Wort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im action-Attribut angegeben wurde, ist der direkte Aufruf des Controllers, ohne sich die route URI. Daher-Adresse ein action-Attribut, um diese
Wird es gehen die Strecke durch und überprüft die CSRF geht dann um die Anfrage
<form method="post" action="{{url('/edit/user',$id)}}">
Ihre route
Setzen Sie statt der post -