控制器方法未定义错误 - Laravel 5.1

I am trying to display the currently logged in username, as a link to the user info, in my main navigation. I can get the name to display, so I am pulling the info from the db, and passing it to the view OK. But, when I try to make it a link, I get the method not defined error.

Here is how I pass the user info to the navigation (as the var $userInfo):

public function index()
{
    $Clients = \Auth::user()->clients()->get();
    $userInfo = \Auth::user();
    return view('clients.index', compact('Clients', 'userInfo'));
}

Here is the relevant bit from my navigation:

<ul class="nav navbar-nav">
  <li>{!! link_to_action('AuthController@show', $userInfo->username, [$userInfo->id]) !!}</li>
</ul>

The method from my controller:

    protected function show($id)
{
    $userInfo = User::findOrFail($id);
    return view('users.show', compact('userInfo'));
}

And, the route definition:

// User Display routes
Route::get('auth/{id}', 'Auth\AuthController@show');

Here is the error I get:

Action App\Http\Controllers\AuthController@show not defined. 

Can anyone tell me what I am missing?

First, you need to make your AuthController::show() method public:

public function show($id)
{
  $userInfo = User::findOrFail($id);
  return view('users.show', compact('userInfo'));
}

Second, as your controllere is in App\Http\Controllers\Auth namespace, you need to use the **Auth** prefix in the view:

<ul class="nav navbar-nav">
  <li>{!! link_to_action('Auth\AuthController@show', $userInfo->username, [$userInfo->id]) !!}</li>
</ul>