Проверка прав на маршруте в Laravel
Правило Gate можно проверить
ещё до контроллера - middleware
can. Тогда действие даже
не запустится, если доступа нет:
<?php
use App\Http\Controllers\PostController;
Route::get('/posts/{post}/edit', [PostController::class, 'edit'])
->middleware('can:update-post,post');
?>
Закройте маршрут редактирования
через can:update-post,post.
То же сделайте для удаления
с правилом delete-post.