gaalev, ну поставьте dd в метод Policy и посмотрите доходит он до туда или нет. Вообще метод довольно странный. На вход ничего не принимает. Как минимум должен пользователя принимать. Иначе на основе чего он будет решать?
namespace App\Policies;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class PostPolicy
{
use HandlesAuthorization;
public function index(User $user)
{
return true;
}
}
Потому что у модели нет метода can? О чем он честно вам написал. Да и если логически подумать - модель не бывает can. User бывает can или cannot. По этому auth()->user()->can('index', Post::class);