欢迎光临
我们一直在努力

Laravel提示 Route [admin.logout] not defined.

问题描述:提示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/’

赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » Laravel提示 Route [admin.logout] not defined.

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址