这似乎是最愚蠢的问题,但我似乎无法弄明白.我有一个页面需要重定向到一个复杂的路由,我似乎无法生成URL.重定向到一个简单的路线很容易:
return $this->redirect($this->generateUrl('testnumber'));
Run Code Online (Sandbox Code Playgroud)
但是,我想路由到:testnumber/1/question/4.我怎样才能完成这个非常简单的任务?我在文档和Google中找到的唯一的东西允许我添加参数,而不仅仅是创建一个复杂的路线.例如:
generateURL('testnumber', array('testid'=>1, 'question'=>4))
Run Code Online (Sandbox Code Playgroud)
制作/ testnumber的网址?testid = 1&question = 4,我不想要.
编辑:是的,我已经在YML文件中创建了路径.我根本无法生成链接到它的URL.
return $this->redirect($this->generateUrl(???????????),true));
Run Code Online (Sandbox Code Playgroud)
这是我的路线:
@Route("/testnumber/{testid}/question/{question}", name="testnumber")
Run Code Online (Sandbox Code Playgroud)
Symfony文档仅显示如何生成"testnumber/1"的URL,我需要生成"testnumber/1/question/4".
Ahm*_*ani 21
对于
generateURL('testnumber', array('testid'=>1, 'question'=>4))
Run Code Online (Sandbox Code Playgroud)
按照您的意愿工作,您的路线必须如下(使用注释的示例)
@Route("/testnumber/{testid}/question/{question}", name="testnumber")
Run Code Online (Sandbox Code Playgroud)
如果您没有在路线中定义"testid"和"question"参数,它们将被添加到查询字符串中(作为GET参数附加在URL的末尾)
generated_route?test_id=X&question=X
Run Code Online (Sandbox Code Playgroud)
在这里找到更多相关的例子.
| 归档时间: |
|
| 查看次数: |
18902 次 |
| 最近记录: |