2つ以上のパラメータを渡す別のアクションにリダイレクトするにはどうすればよいですか?このコード:
$this->redirect('input/new?year=' . $year . '&month=' . $month);
uRLの結果:
http://.../input?year=2009&month=9
まあ、それは通常の、絶対URLへの「リダイレクト」リダイレクトです。出来るよ:
$this->redirect($this->generateUrl('default', array('module' => 'input',
'action' => 'new', 'year' => $year, 'month' => $month)));
現在サポートされているSymfonyバージョン(2.7+) さらに簡単です :
return $this->redirectToRoute('default', array('year' => $year, 'month' => $month));
ルート名とパラメーター配列を指定して、リダイレクトを使用することもできます。
$this->redirect('route_name', array('year' => $year, 'month' => $month));
(Symfony 1.4でテスト済み)
これは通常のsymfonyの動作ではないと思います。ルーティングルールを定義しましたか?
これも試しましたか?
$this->redirect('module/action?'.http_build_query($paramsArray));
奇妙なこと。する
$this->redirect('@default?module=input&action=new&year=' . $year . '&month=' . $month);
あなたのために働きますか?