Автоматический отказ при запрете в Laravel
Писать if и abort(403)
каждый раз утомительно. Метод
Gate::authorize делает
то же самое короче: если нельзя -
сразу 403, если можно -
код идёт дальше:
<?php
use Illuminate\Support\Facades\Gate;
public function edit(Post $post)
{
Gate::authorize('update-post', $post);
return view('posts.edit', ['post' => $post]);
}
?>
Замените проверку через
denies на
Gate::authorize.
В действии удаления вызовите
Gate::authorize('delete-post', $post).