4

これはこれまでで最もばかげた質問のようですが、私には理解できないようです。複雑なルートにリダイレクトする必要があるページがあり、URL を生成できないようです。単純なルートへのリダイレクトは簡単です。

return $this->redirect($this->generateUrl('testnumber'));

ただし、次のようにルーティングしたい: testnumber/1/question/4. この信じられないほど単純なタスクをどのように達成できますか? ドキュメントと Google で見つけた唯一のことは、複雑なルートを作成するだけでなく、パラメーターを追加できることです。例えば:

generateURL('testnumber', array('testid'=>1, 'question'=>4))

/testnumber?tes​​tid=1&question=4 の URL を作成しますが、これは望ましくありません。

編集: はい、YML ファイルで作成されたルートが既にあります。リンクする URL を生成できません。

        return $this->redirect($this->generateUrl(???????????),true));

これは私のルートです:

@Route("/testnumber/{testid}/question/{question}", name="testnumber")

Symfony のドキュメントには、"testnumber/1" への URL を生成する方法のみが示されています。"testnumber/1/question/4" を生成する必要があります。

4

1 に答える 1

21

為に

generateURL('testnumber', array('testid'=>1, 'question'=>4))

必要に応じて機能するには、ルートが次のようになっている必要があります (注釈を使用した例)

@Route("/testnumber/{testid}/question/{question}", name="testnumber")

ルートで「testid」および「question」パラメーターを定義しない場合、それらはクエリ文字列に追加されます (URL の末尾に GET パラメーターとして追加されます)。

generated_route?test_id=X&question=X

ここで関連する例をもっと見つけてください。

于 2012-09-28T14:31:46.010 に答える