2つ以上のパラメータを渡す別のアクションにどのようにリダイレクトできますか?このコード:URLでsymfony 2つのパラメータでリダイレクト
$this->redirect('input/new?year=' . $year . '&month=' . $month);
結果:
http://.../input?year=2009&month=9
2つ以上のパラメータを渡す別のアクションにどのようにリダイレクトできますか?このコード:URLでsymfony 2つのパラメータでリダイレクト
$this->redirect('input/new?year=' . $year . '&month=' . $month);
結果:
http://.../input?year=2009&month=9
これは正常です。リダイレクトを絶対URLにリダイレクトします。
$this->redirect('route_name', array('year' => $year, 'month' => $month));
(symfonyの1.4でテスト)
私は、これは全く正常なsymfonyの振る舞いではないと思います。いくつかのルーティングルールを定義しましたか?
$this->redirect('module/action?'.http_build_query($paramsArray));
いいえ、それは助けてくれません – kipelovets
奇妙なこと:
はあなたにもこれを試してみました。します
$this->redirect('@default?module=input&action=new&year=' . $year . '&month=' . $month);
あなたのために働くのですか?
はい、それでも動作します。ありがとう、しかし、xarchのソリューションはよりきれいです=) – kipelovets
:あなたはそれを行うことができますSymfonyのバージョン(2.7+)it's even easier:
return $this->redirectToRoute('default', array('year' => $year, 'month' => $month));
を現在サポートされて:あなたはまた、ルート名とパラメータの配列を指定して、リダイレクトを使用することができます
$this->redirect($this->generateUrl('default', array('module' => 'input',
'action' => 'new', 'year' => $year, 'month' => $month)));
助けた。 "http://.../input/new/year/2009/month/10"のようなURLを生成する以外は – kipelovets
ルートが定義されている場合は、その名前で 'default'を置き換えて、2番目のパラメータを変更することができます必要に応じて、ルートのパラメータを指定します。 – xarch
もしあなたが経路を定義していれば、 '$ this-> redirectToRoute( 'routename'、['param1' => 'value'、['param2' => 'value'])' – chteuchteu