Php Laravel 4重定向::操作();“未定义路线”;

Php Laravel 4重定向::操作();“未定义路线”;,php,laravel-4,Php,Laravel 4,我现在和拉威尔4有麻烦。我想使用slug作为论坛类别和论坛主题(slug是独一无二的)。为了确定用户是否属于某个类别或某个主题,我有以下方法: Route::get('forum/{slug}',函数($slug){ $category=ForumCategory::其中('slug','=',$slug)->first(); 如果(!为空($category)) 返回重定向::操作('ForumCategoryController@findBySlug,数组('slug'=>$slug));

我现在和拉威尔4有麻烦。我想使用slug作为论坛类别和论坛主题(slug是独一无二的)。为了确定用户是否属于某个类别或某个主题,我有以下方法:

Route::get('forum/{slug}',函数($slug){
$category=ForumCategory::其中('slug','=',$slug)->first();
如果(!为空($category))
返回重定向::操作('ForumCategoryController@findBySlug,数组('slug'=>$slug));
否则{
$topic=ForumTopic::其中('slug','=',$slug)->first();
如果(!为null($topic))
返回重定向::操作('ForumTopicController@findBySlug,数组('slug'=>$slug));
其他的
返回“失败”;
}
});
当我尝试访问某个类别时,我出现以下错误:

路线[ForumCategoryController@findBySlug]未定义。

这是我的ForumCategoryController:

类ForumCategoryController扩展BaseController{
公共函数findBySlug($slug){
$category=ForumCategory::其中('slug','=',$slug)->first();
返回视图::make('forum.category',数组(
“title”=>“Catégorie”,
“类别”=>$category
));
}
}

问题在哪里?有没有办法做得更好?请提供帮助:)

Laravel告诉您必须定义一个路由才能使用
route::action()
,类似于:

Route::get('forum/bySlug/{slug}', 'ForumTopicController@findBySlug');
因为它实际上会构建一个url并使用它:

http://your-box/forum/bySlug/{slug}

为此,它必须找到指向您的操作的路由。

这没有意义,因为如果您以这种方式注册路由,就不需要使用操作方法,您只需使用url::to()