问题描述:提示Route *** not defined.
今天使用admin.logout提示未定义,好直接上代码
路由如下:
Route::group(['middleware' => ['web', 'admin.login'], 'prefix' => 'admin', 'namespace' => 'Admin'], function () { Route::get('index', 'IndexController@index'); Route::get('info', 'IndexController@info'); Route::post('logout', 'LoginController@getLogout'); });
在是在后台使用时却出现未定义的提示
后台退出按钮:
<a href="{{ route('admin.logout') }}" onclick="event.preventDefault();document.getElementById('logout-form').submit();"> Logout </a> <form id="logout-form" action="{{ route('admin.logout') }}" method="POST" style="display: none;"> {{ csrf_field() }} </form>
控制器
public function getLogout(Request $request) { session(['email'=>null]); return redirect(route('admin.login')); }
然而却出现错误提示
Route [admin/logout] not defined.
经过一番折腾,终于解决了这个路由未定义的问题,即添加’as’ => ‘admin.’
解决方法:
Route::group(['middleware' => ['web', 'admin.login'], 'prefix' => 'admin', 'as' => 'admin.', 'namespace' => 'Admin'], function () { Route::get('index', 'IndexController@index'); Route::get('info', 'IndexController@info'); Route::post('logout', 'LoginController@getLogout') });
分析,因为用了group,直接使用{{ route(‘admin.logout’) }}无法使用,因为要对group添加别名
如果你想使用{{ route(‘admin/logout’) }},请给group定义别名’as’ => ‘admin/’