リバース:私がログに記録するには、上記の経路を制限したいので、私は今問題に出くわしましたCakePHPは私には、例えば、名前のパラメータとして「スラグ」とルーティングを使用してきたルーティングの問題
Router::connect('/category/:slug', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('slug'), 'slug'=>'[a-z0-9\-]+'));
をユーザーだけで、私は私のCategoriesControllerののbeforeFilter()関数でこれを入れている:私は(しばらくはログアウト)/カテゴリ/私のカテゴリに行けば
if(!$this->Auth->loggedIn()) {
$this->Auth->deny('view');
}
は今、私は私にリダイレクトされますアプリケーションのログインページ、残念ながらログイン後、/ categories/view/my-category/slugにリダイレクトされます:my-category
これは、我々が持っているAuthComponent.phpの317行目によるものです:
$this->Session->write('Auth.redirect', Router::reverse($request));
だから、私は上記の経路上のルータ::リバース($要求)を行うときに、それが正常に動作しないようです(なぜなら、「my-category」は、渡されたパラメータと名前付きのパラメータの両方であるべきだと思うからです)。
これは、私がこのルートを設定したやり方に問題があるのですか、それともCakePHPのバグですか?確かにRouter :: reverse($ request)は常に現在のURLを返すべきですか?
何かアドバイスは感謝...