【发布时间】:2014-03-02 22:13:29
【问题描述】:
您好,我在 Laravel 4.1 中遇到了两个路由/控制器的问题
我每次都收到缺少方法的错误,但我认为一切都很好(正如我检查的那样)
这里是结果
路线
# Review Management
Route::post('reviews/{review}/approved', 'AdminReviewsController@postApproved')
->where('review', '[0-9]+');
Route::post('reviews/{review}/disapproved', 'AdminReviewsController@postDisapproved')
->where('review', '[0-9]+');
Route::controller('reviews', 'AdminReviewsController');
这就是方法本身。
public function postApproved($review) {
Review::where('id', '=', $review)->update(array('approved' => 1));
Redirect::back()->with('notice', 'Review accepted');
}
public function postDisapproved($review) {
Review::where('id', '=', $review)->update(array('approved' => 0));
Redirect::back()->with('notice', 'Review denied');
}
我不知道问题是什么我什至尝试了 composer dump-autoload 20 次但没有成功。那么我该如何解决呢?
【问题讨论】:
-
这是您从
artisan routes列出的所有路线吗?如果路由显示,则您可能有一个不包含该方法的冲突控制器。 -
这是所有路线。 pastebin.com/raw.php?i=yPKKWnkE我不知道是否有另一个控制器冲突,但我对 laravel 不是很有经验,所以我可能忽略了一些东西
-
你有路由组,对吧?恐怕您必须将它们全部展示出来,因为问题似乎出在另一段代码中。
-
@AntonioCarlosRibeiro 是的,我有小组。在这里,您可以查看我的路线的完整列表。 pastebin.com/jVVBHW8d
-
这就是您的路由在此处生成的方式:pastebin.com/raw.php?i=bddhX8rt(我刚刚将所有控制器名称更改为 HomeController)。已批准和未批准不为空白。是什么生成了其他过滤器(admin_b1b79d、manage_cmets_152828)?这可能是您的故障的根源。