2015-02-08 119 views
1

我想將過濾器應用於登錄和註冊頁面,因此已登錄的用戶將被重定向到他們的索引頁面。這裏是路線:Laravel beforeFilter in controller does not work

Route::controller('users', 'UsersController'); 

這裏是在UserController中beforeFilters:

public function __construct() 
{ 
    $this->beforeFilter('guest', ['on' => 'getLogin']); 
    $this->beforeFilter('guest', ['on' => 'getRegister']); 
} 

這裏是getLogin動作:

public function getLogin() 
{ 
    return View::make('users/login'); 
} 

和過濾器本身(filters.php):

Route::filter('guest', function() 
{ 
    if (Auth::check()) return Redirect::to('/'); 
}); 

H但是,當我已經登錄並嘗試訪問登錄或註冊頁面時,我不會重定向到「/」。可能是什麼問題?

回答

2

'on'實際上是用於指定一個HTTP動詞。試試這個:

$this->beforeFilter('guest', ['only' => ['getLogin', 'getRegister']]);