私は迷っています。私はアプリケーションをLaravel 5.4にアップグレードしようとしていますが、途中で(5.2.45)いくつかのルートで何か変なことが起こっています。私はroutes.php
に3 Route::controller()
コールを持っていましたが、私は::controller()
が落とされているので、それらをすべて明示的なルートに変換しました。 ::controller()
コールの1つからの新しいルートが正常に動作しています。他の2つのルートは動作していません。コントローラのアクションが「職人のルート:リスト」にクローズとして表示されます
の例を見てみると、ここで働いている1つです:
\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
を実行すると、奇妙なことが起こっている最も直接的なサインがあります。ここでの結果から2つの該当する行は、次のとおりです。
| 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ディレクトリにある両方のコントローラで同じ名前空間を使用しています。