Laravel make view не изменяется в URL
Я использую промежуточное программное обеспечение для перенаправления пользователей, если они не соответствуют определенным критериям (не приняли условия!). Они перенаправлены на /terms
,
Middleware:
public function handle($request, Closure $next)
{
if (Auth::user()->terms === 0) {
return redirect()->route('getTerms');
}
return $next($request);
}
Выше работает отлично.
Как только пользователь "примет" условия, я хочу перенаправить их на домашнюю страницу (которая в настоящее время работает), однако URL-адрес не изменится. Это все еще остается на /terms
даже если они на главной странице.
Контроллер "принимает условия":
$user = User::find(Auth::id());
$user->terms = 1;
$user->save();
return view('home');
Причина, по которой мне нужен URL для перенаправления обратно /home
потому что у меня есть условие макета, что мне нужно включить представление, когда пользователь не находится на /term
URL-адрес.
Состояние макета:
@if(!Request::is('terms'))
@include('layouts.check')
@endif
Почему не return view('home);
работает так же, как и в других функциях?
1 ответ
Вместо того чтобы возвращать "домашний" вид из действия "принять условия", верните перенаправление на фактический домашний маршрут.
return redirect()->route('home');