这是我的路线档案
Route::get('/' , ['as' => '/' , 'uses'=> 'loginController@getlogin']);
Route::post('/login', ['as' => 'login', 'uses'=> 'loginController@postlogin']);
Route::group(['middleware' =>['authen','roles']], function () {
Route::get('/logout' ,['as'=>'logout', 'uses'=> 'loginController@getLogout']);
Route::get('/dashboard',['as'=>'dashboard', 'uses'=> 'dashboardController@dashboard']);
});
当我尝试登录时,在UrlGenerator.php第304行显示 InvalidArgumentException: 路线[/仪表板]未定义。 我该怎么办?
答案 0 :(得分:2)
如评论中所述,这是解决方案:
Laravel使用三个不同的概念来重定向用户(甚至只是显示链接):
使用重定向帮助程序快捷方式
redirect('/dashboard')
或适当的方法
redirect()->to('/dashboard')
;
redirect()->action('dashboardController@dashboard')
动作是控制器的一种方法。 要使重定向起作用,路由必须指向此操作。
redirect()->route('dashboard')
要使重定向起作用,路由必须具有名称。
要为路径指定名称,您必须流畅地链接方法name
,如下所示:
Route::get('/dashboard', 'dashboardController@dashboard')->name('dashboard');
在您的情况下,您将重定向到路线而不是网址。因此,你有两个解决方案: