2013-05-09 77 views
2

我是laravel的新手。 這可能非常簡單,但我無法找到示例或文檔。重定向到子文件夾中的控制器操作 - Laravel 4

我需要將用戶重定向到位於子文件夾中的控制器中的操作。

文件夾結構:

**app** 
---**controllers** 
------**Admin** 
---------AdminHomeController.php (extends AdminController) 
------AdminController.php 
------BaseController.php 
---**models** 
---**views** 
------**admin** 
---------dashboard.php 
------login.php 

routes.php文件

Route::get('/login', function() 
{ 
    return View::make('login'); 
}); 

Route::group(array('before' => 'auth'), function() 
{ 
    Route::resource('admin', 'AdminHomeController'); 

}); 

Route::post('/login', function() 
{ 
    Auth::attempt(['email' => Input::get('email'), 'password' =>  Input::get('password')]); 

    **return Redirect::action('[email protected]');** 
}); 

登錄後,我正在想重定向到AdminHomeController動作稱爲 「showAdminDashboard」。 我知道我可以加載視圖,但我想重定向。

我的錯誤是這樣的 - 未知的操作[AdminHomeController @ showAdminDashboard]

回答

3

當您爲控制器等事情創建新類時,需要再次轉儲Composer自動載入文件,以便更新類映射。如果您打開composer.json,您應該看到一個classmap鍵,該值將是一組目錄。列出的目錄之一將是app/controllers

Laravel不知道你的控制器,直到你轉儲一個新的自動載入。從終端只需運行composer dump-autoload,它將不會再持續幾秒鐘。

+0

感謝您的,但我已經運行 - 「自動加載」:{ \t \t 「類映射」: \t \t \t 「應用/命令」, \t \t \t 「應用程序/控制器」, \t \t \t 「應用程序/模型」, \t \t \t 「應用/數據庫/遷移」, \t \t \t 「應用/數據庫/種子」, \t \t \t「應用程序/測試/ TestCase.php」 \t \t] \t}, – Mediabeastnz 2013-05-10 00:44:54

+0

我有你已經運行它,然後打開'供應商/作曲/ autoload_classmap.php',看看你的控制器在陣列。如果不是,則需要再次運行'composer dump-autoload'。 – 2013-05-10 05:23:04

0

除非你命名空間中的控制,我認爲你必須做的就是使用下劃線在路由中引用該控制器是什麼:

Route::group(array('before' => 'auth'), function() 
{ 
    Route::resource('admin', 'Admin_AdminHomeController'); 

}); 

然後確保重命名AdminHomeController類:

class Admin_AdminHomeController extends AdminController { 

保留文件名相同的「AdminHomeController.php」並將其保留在「Admin」文件夾中。之後,再次運行composer dump-autoload,我想你會工作。

相關問題