Laravel 5.1路线未定义

时间:2015-10-24 17:57:56

标签: php laravel routes blade

我正在使用Laravel 5.1开发一个webapp,我开始进行用户身份验证,我将这些路由添加到routes.php文件中:

Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::post('auth/register', 'Auth\AuthController@postRegister');

如果我将链接输入到url栏,但是如果我将这种语法放入模板中,它就可以了:

<a href="{{ URL::route('auth/register') }}">Registra't</a>

我收到错误Route [auth / register]未定义。我做错了什么?还有什么可做的吗?

5 个答案:

答案 0 :(得分:4)

URL::route()期望一条命名路线,在这里您应该使用URL::to(),或者您可以使用

创建命名路线
Route::get('auth/register', [
  'as' => 'register', 
  'uses' => 'Auth\AuthController@getRegister'
]);

然后使用URL::route('register')链接到路线auth/register

答案 1 :(得分:3)

因为您尚未定义命名路由,URL::route接受路由名称作为第一个参数。您刚刚定义了路径auth/register

要定义命名路线,您可以执行以下操作:

Route::post('auth/register', [
   'as' => 'auth/register', 'uses' => 'Auth\AuthController@postRegister'
]);

答案 2 :(得分:1)

刚刚放好 Auth::routes();routes/web.php

答案 3 :(得分:0)

使用auth0 tutorial

时,这对我来说很有用
php artisan cache:clear
php artisan view:clear
php artisan route:clear
php artisan config:clear

答案 4 :(得分:-1)

为我工作,把&#34;作为&#34;并调用路线例如:

Route::get('auth/logout', ['as' => 'auth/logout','uses'=>'Auth\AuthController@getLogout']);

和HTML: y para el HTML:

 <li><a href="{{route('auth/logout')}}">Logout</a></li> 

此解决方案适用于Laravel 5.1