Ссылка с другим методом в Inertia
Пусть выход из аккаунта сделан обычной ссылкой. Клик открывает адрес как страницу, а сервер ждёт не просмотр, а действие.
У компонента Link можно задать
метод запроса.
Для выхода подходит post.
Такая ссылка отправляет действие
и рисуется кнопкой: открыть её
в новой вкладке как обычный адрес
нельзя.
После выхода Laravel возвращает
человека на главную.
Давайте опишем маршрут выхода:
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
Route::post('/logout', function () {
Auth::logout();
return redirect('/');
});
?>
Давайте в шапке макета добавим имя и ссылку выхода:
<script setup>
import { Link } from '@inertiajs/vue3'
</script>
<template>
<header>
<p v-if="$page.props.auth.user">
{{ $page.props.auth.user.name }}
</p>
<Link
v-if="$page.props.auth.user"
href="/logout"
method="post"
>
Log out
</Link>
</header>
<main>
<slot />
</main>
</template>
Сделайте выход работника из шапки так, чтобы это было действие, а не переход на новую страницу.