0
我不知所措。我正在将应用程序升级到Laravel 5.4,但在路上(5.2.45),我发现有几条路线发生了奇怪的事情。我在routes.php
有3 Route::controller()
调用,并且我已将其全部转换为显式路由,因为::controller()
已被删除。现在来自::controller()
调用之一的新路由工作正常,来自其他两个路由的路由不正确,报告操作未找到。作为闭包出现在“工匠路线:列表”中的控制器操作
综观例子,这里有一个正在工作:
\Route::get('account/edit', array('as'=>'account.edit', 'uses'=>'[email protected]'));
,这里是一个不是:
\Route::get('recent/clear', array('as'=>'recent.clear', 'use'=>'[email protected]'));
为了完整起见,这里都是适用的控制器部分
class AccountController extends Controller {
public function getEdit()
{
$roles = Role::getSelectList();
$districts = District::getSelectList();
return \View::make('accountedit', array('editUser' => \Auth::user(), 'roles'=>$roles, 'districts'=>$districts));
}
}
class RecentController extends Controller {
public function getClear()
{
\Session::forget('recent');
return \Redirect::to('/main')->with(array('alerts'=>array(ErrorHelper::alert('success','Success','The Recent list has been cleared.'))));
}
}
最奇怪的是最直接的迹象是当我运行artisan route:list
。下面是从结果两个适用线:
| Method | URI | Name | Action |
+-----------+---------------+---------------------------------+-------------------------------------------------+
| GET|HEAD | account/edit | account.edit | App\Http\Controllers\[email protected] |
| GET|HEAD | recent/clear | recent.clear | Closure |
我不知道为什么recent.clear
被显示为一个封闭。任何想法是什么错? FWIW,我在两个控制器上都有相同的命名空间,这两个控制器都在Http \ Controllers目录中。