Mar*_*rio 2 php routes laravel-5.1
当我尝试重定向我的注销时,需要询问错误
这是UserController:
public function logout()
{
Auth::logout();
return redirect()->route('auth/login');
}
Run Code Online (Sandbox Code Playgroud)
这是我的路线:
Route::get('/', function () {
return view('welcome');
});
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
Route::get('testing', 'UserController@test');
Route::get('logout', 'UserController@logout');
Run Code Online (Sandbox Code Playgroud)
我想,在路线上一切正常,我正确定义了登录(如Laravel文档)
但它仍然需要这个错误:
InvalidArgumentException in UrlGenerator.php line 306:
Route [auth/login] not defined.
Run Code Online (Sandbox Code Playgroud)
有什么问题可以取悦吗?我犯了什么错吗?
非常感谢,祝你有愉快的一天!
该route方法需要名称,而不是URI.所以你需要为你的路线命名.
像这样:
Route::get('auth/login', ['as' => 'login', 'uses' => 'Auth\AuthController@getLogin']);
Run Code Online (Sandbox Code Playgroud)
要么:
Route::get('auth/login', 'Auth\AuthController@getLogin')->name('login');
Run Code Online (Sandbox Code Playgroud)
现在你可以打电话了 return redirect()->route('login');
请参阅命名路由的文档.
或者,您可以redirect像这样在方法中提供URI :
return redirect('auth/login');
Run Code Online (Sandbox Code Playgroud)
如果你改变这个端点,这会破坏.我建议命名你的路线并在你的代码中使用它们.
| 归档时间: |
|
| 查看次数: |
4723 次 |
| 最近记录: |