Я использую промежуточное программное обеспечение для перенаправления пользователя, если они не соответствуют определенным критериям (не приняли условия!). Они перенаправляются на /terms
.Запрос на просмотр Laravel не изменяется по URL-адресу
Middleware:
public function handle($request, Closure $next)
{
if (Auth::user()->terms === 0) {
return redirect()->route('getTerms');
}
return $next($request);
}
Вышеприведенные работает отлично.
Как только пользователь «примет» условия, я хочу перенаправить их на главную страницу (которая в настоящее время работает), однако URL-адрес не изменяется. Он по-прежнему остается на /terms
, хотя они находятся на главной странице.
Controller «принять условия»:
$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);
работает так же, как это в других функциях?
прекрасно работает, я не могу поверить, что я проглядел редирект! Большое спасибо @LorenzSchaef. – Ben