2013-05-09 80 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,我想你会工作。

相关问题