我很茫然。我正在努力将应用程序升级到Laravel 5.4,但是在路上(5.2.45)我有几条路线发生了奇怪的事情。我在Route::controller()
中进行了3次routes.php
次调用,并且我已将所有这些调用转换为显式路由,因为::controller()
已被删除。现在来自其中一个::controller()
调用的新路由工作正常,其他两个路由没有,报告未找到操作。
查看示例,这是一个正在运行的示例:
\Route::get( 'account/edit', array( 'as'=>'account.edit', 'uses'=>'AccountController@getEdit' ) );
这是一个不是:
\Route::get( 'recent/clear', array( 'as'=>'recent.clear', 'use'=>'RecentController@getClear' ) );
为了完整起见,这里是适用的控制器部分
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\AccountController@getEdit |
| GET|HEAD | recent/clear | recent.clear | Closure |
我不知道为什么recent.clear
显示为关闭。对于什么是错的任何想法? FWIW,我在两个控制器上都有相同的命名空间,它们都位于Http \ Controllers目录中。
答案 0 :(得分:0)
哦,哎呀,使用和使用。用Grover的话说,"我很尴尬......"