web-dev-qa-db-ja.com

2つのパラメーターを持つsymfonyリダイレクト

2つ以上のパラメータを渡す別のアクションにリダイレクトするにはどうすればよいですか?このコード:

$this->redirect('input/new?year=' . $year . '&month=' . $month);

uRLの結果:

http://.../input?year=2009&month=9

30
kipelovets

まあ、それは通常の、絶対URLへの「リダイレクト」リダイレクトです。出来るよ:

$this->redirect($this->generateUrl('default', array('module' => 'input',
'action' => 'new', 'year' => $year, 'month' => $month)));
55
xarch

現在サポートされているSymfonyバージョン(2.7+) さらに簡単です

return $this->redirectToRoute('default', array('year' => $year, 'month' => $month));
6
forsberg

ルート名とパラメーター配列を指定して、リダイレクトを使用することもできます。

$this->redirect('route_name', array('year' => $year, 'month' => $month));

(Symfony 1.4でテスト済み)

これは通常のsymfonyの動作ではないと思います。ルーティングルールを定義しましたか?

これも試しましたか?

$this->redirect('module/action?'.http_build_query($paramsArray));
3
jochil

奇妙なこと。する

$this->redirect('@default?module=input&action=new&year=' . $year . '&month=' . $month);

あなたのために働きますか?

1
Andrei Dziahel