SCR*_*ATK 15 php laravel laravel-routing laravel-5.2
我一直收到这个错误
ErrorException in UrlGenerationException.php line 17:
Run Code Online (Sandbox Code Playgroud)
当任何页面加载并且我已登录时.
这是我的导航仪的样子
@if(Auth::guest())
<li><a href="{{ url('/login') }}">Log In</a></li>
<li><a href="{{ url('/register') }}">Sign Up</a></li>
@else
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ Auth::user()->nickname }}<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="{{ route('user.profile') }}">Profile</a></li>
<li><a href="{{ route('user.settings') }}">Settings</a></li>
<li><a href="{{ url('/logout') }}">Log Out</a></li>
</ul>
</li>
@endif
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是{{route('user.profile')}}无效?
当我点击链接是www.mydomain.com/User/SCRATK/profile工作正常但页面不会加载因为这个错误?
Missing required parameters for [Route: user.profile] [URI: user/{nickname}/profile].
Run Code Online (Sandbox Code Playgroud)
这是我的路线文件
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/', ['as' => 'home', 'uses' => 'BaseController@index']);
Route::group(['namespace' => 'User', 'prefix' => 'user'], function(){
Route::get('{nickname}/settings', ['as' => 'user.settings', 'uses' => 'SettingsController@index']);
Route::get('{nickname}/profile', ['as' => 'user.profile', 'uses' => 'ProfileController@index']);
});
});
Run Code Online (Sandbox Code Playgroud)
The*_*pha 39
您必须将路由参数传递给route
方法,例如:
<li><a href="{{ route('user.profile', $nickname) }}">Profile</a></li>
<li><a href="{{ route('user.settings', $nickname) }}">Settings</a></li>
Run Code Online (Sandbox Code Playgroud)
这是因为,两条路线{nickname}
在路线声明中都有.我已经用过$nickname
例子,但请确保将其更改$nickname
为适当的值/变量,例如,它可能类似于以下内容:
<li><a href="{{ route('user.settings', auth()->user()->nickname) }}">Settings</a></li>
Run Code Online (Sandbox Code Playgroud)