Проверка политики в шаблоне в Laravel
В Blade для Policy используют
ту же @can, что и для Gate.
Разница в аргументах: имя метода
политики и модель:
@can('update', $post)
<a href="/posts/{{ $post->id }}/edit">edit</a>
@endcan
@can('delete', $post)
<form method="POST" action="/posts/{{ $post->id }}">
@csrf
@method('DELETE')
<button type="submit">delete</button>
</form>
@endcan
Laravel по типу $post найдёт
PostPolicy и вызовет
нужный метод. Для create
без экземпляра пишут так:
@can('create', App\Models\Post::class)
<a href="/posts/create">new post</a>
@endcan
Покажите ссылку edit через
@can('update', $post).
Ссылку «создать пост» покажите
через @can('create', ...).