2016-11-23 129 views
1

Error: Missing required parameters for [Route: auth.users.edit] [URI: auth/users/{user}/edit].(Laravel)缺少中间件路由所需的参数

我有一个中间件,如果用户缺少某些详细信息,他们将进入编辑帐户页面并告知完成其帐户。

中间件看起来像这样。

public function handle($request, Closure $next) 
{ 
    $user = auth()->user(); 

    if (// some condition about account completeness) { 

     flash('Please complete your account'); 
     return redirect()->route('auth.users.edit'); 
    } 

    return $next($request); 
} 

航线名称auth.users.edit对应路线auth/users/{user}/edit。我假设我收到的错误是抱怨中间件不知道{user}参数。

错误看起来是这样的:

Missing required parameters for [Route: auth.users.edit] [URI: auth/users/{user}/edit]

+0

你解决了这个问题吗? – linuxartisan

+0

是的,linuxartisan的回答是正确的 – DanielPahor

回答

1

当你说

I am assuming the error I am getting is complaining that the middleware does not know the {user} paramater.

你应该试试这个

return redirect()->route('auth.users.edit', [$user]); 
0

我最终只是运行

valet restart 
你是对的

它工作。