我一直得到:Unknown action [HomeController@showHome]
路线:
Route::get('/', ['before' => 'checkUserFilter'], 'HomeController@showHome');
Route::get('/createUser', 'UserController@createUser');
滤波器:
Route::filter('checkUserFilter', function()
{
if (Auth::guest())
{
return Redirect::action('UserController@createUser');
}
});
控制器:
用户控制器
public function createUser()
{
// removed everything else, the return redirect action isn't working.
return Redirect::action('HomeController@showHome');
}
首页控制器
public function showHome()
{
return View::make('home');
}
当用户加载网页时,筛选器会检查他是否是来宾,如果是,请转到 UserController.php 中的 createUser 方法。它创建用户,但不会重定向回 HomeController。如何停止上述错误,使其重定向回家庭控制器?
我还有另一个问题:除了在方法中放置返回重定向操作之外,还有什么更好的方法?如果我可以将相同的方法用于多种事情,例如在管理控制面板中创建用户,我希望它。
我假设您到HomeController的路由是问题存在的地方。
以下是两种可能的解决方案:
解决方案 1:路由.php
Route::get('/', array('before'=>'checkUserFilter', 'uses'=>'HomeController@showHome'));
解决方案2:家庭控制器.php
public function __construct(){
$this->beforeFilter('checkUserFilter');
}
//showHome
还没有测试过,但希望有帮助。