La méthode PATCH n'est pas autorisée à accéder aux routes de rôle. Prend uniquement en charge les méthodes GET, HEAD et POST
P粉986028039
P粉986028039 2023-08-15 19:45:00
0
1
627
<p>Je souhaite utiliser Spatie Laravel pour créer des rôles et des autorisations. Je ne peux pas modifier mon personnage à cause d'une erreur : </p> <blockquote> <p>Le routage des rôles de la méthode PATCH n'est pas pris en charge. Les méthodes prises en charge sont : GET, HEAD, POST. </p> </blockquote> <p><strong>Contrôleur : </strong></p> <pre class="brush:php;toolbar:false;">public function edit(string $id) { $role = Rôle :: trouver ($ id); $permission = Permission::get(); $rolePermissions = DB::table("role_has_permissions")->where("role_has_permissions.role_id",$id) ->pluck('role_has_permissions.permission_id','role_has_permissions.permission_id') ->tout(); return view('roles.edit',compact('role','permission','rolePermissions')); } mise à jour de la fonction publique (Requête $request, chaîne $id) { $this->valider($request, [ 'nom' => 'obligatoire', 'autorisation' => 'obligatoire', ]); $role = Rôle :: trouver ($ id); $role->nom = $request->input('nom'); $role->save(); $role->syncPermissions($request->input('permission')); return redirect()->route('roles.index') ->with('success','Mise à jour du rôle réussie'); }</pré> <p><strong>Modèle de lame :</strong></p> <pre class="brush:php;toolbar:false;"><form action='{{ url('roles/') }}' method='post'> @csrf @method('PUT') <div class="my-3 p-3 bg-body arrondi shadow-sm"> <a href='{{ url('roles') }}' class="btn btn-secondary">Return</a> {!! Form::model($role, ['method' => 'PATCH','route' => ['roles.update', $role->id]]) !!} <div class="mb-3 rangée"> <label for="permission" class="col-sm-2 col-form-label">Permission</label> <div class="col-sm-10"> {{-- <input type="text" class="form-control" name='permission' value="{{ $role->permission }}" id="permission"> {!! Form::text('name', null, array('placeholder' => 'name','class' => 'form-control')) !!} </div> </div></pré> <p><strong>路由:</strong></p> <pre class="brush:php;toolbar:false;">Route::group(['middleware' => ['auth']], function() { Route::resource('admin', adminController::class); Route::resource('produk', produkController::class); Route::resource('roles', roleController::class); });</pré> <p><br /></p>
P粉986028039
P粉986028039

répondre à tous(1)
P粉245276769

Ajoutez @method('PUT')指令。通常情况下,PUT方法用于在RESTful API中更新资源,Laravel会自动将其视为PATCHrequête sous forme HTML en vue d'édition.

<form action="{{ route('roles.update', $role->id) }}" method="POST">
    @method('PUT')
    @csrf
    <div class="my-3 p-3 bg-body rounded shadow-sm">
        <a href="{{ route('roles.index') }}" class="btn btn-secondary">返回</a>
        <div class="mb-3 row">
            <label for="permission" class="col-sm-2 col-form-label">权限</label>
            <div class="col-sm-10">
                {!! Form::text('permission', null, array('placeholder' => '权限名称', 'class' => 'form-control')) !!}
            </div>
        </div>
    </div>
    <button type="submit">更新角色</button>
</form>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal