问题描述:提示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/’
达维营-前端网