Symfony2发电机至复杂线路

Symfony2发电机至复杂线路,symfony,routing,Symfony,Routing,这似乎是有史以来最愚蠢的问题,但我似乎无法理解。我有一个页面需要重定向到一个复杂的路由,我似乎无法生成URL。重定向到简单路线非常简单: return $this->redirect($this->generateUrl('testnumber')); 但是,我想转到:testnumber/1/question/4。我怎样才能完成这个极其简单的任务?我在文档和Google中发现的唯一一件事是,我可以添加参数,而不仅仅是创建一条复杂的路线。例如: generateURL('testn

这似乎是有史以来最愚蠢的问题,但我似乎无法理解。我有一个页面需要重定向到一个复杂的路由,我似乎无法生成URL。重定向到简单路线非常简单:

return $this->redirect($this->generateUrl('testnumber'));
但是,我想转到:testnumber/1/question/4。我怎样才能完成这个极其简单的任务?我在文档和Google中发现的唯一一件事是,我可以添加参数,而不仅仅是创建一条复杂的路线。例如:

generateURL('testnumber', array('testid'=>1, 'question'=>4))
创建/testnumber?testid=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”

generateURL('testnumber', array('testid'=>1, 'question'=>4))
要按您的意愿工作,您的路线必须如下所示(例如使用注释)

如果您没有在路由中定义“testid”和“question”参数,它们将被添加到查询字符串中(作为GET参数附加在URL的末尾)


查找更多相关示例。

您的
routing.yml
文件中是否有名为
testnumber
的路由,该路由的参数为
testid
question
?举个例子。你能告诉我你是如何定义你的路线的吗?我的路线很好用。我试图找出如何生成URL重定向到该路由。谢谢您能用您的路线定义更新您的问题吗?路线与您输入的路线完全相同。我只是想知道如何用generateurl方法生成它@路由(“/testnumber/{testid}/question/{question}”,name=“testnumber”)这工作正常>generateURL('testnumber',array('testid'=>1,'question'=>4)),我刚刚测试了它。你刚刚输入了我已经输入的我不想要的东西。“generateURL('testnumber',array('testid'=>1,'question'=>4))”创建一个URL“/testnumber?testid=1&question=4”。我想生成URL“testnumber/1/question/4”。
@Route("/testnumber/{testid}/question/{question}", name="testnumber")
generated_route?test_id=X&question=X