我在Symfony2.5中使用了注释,我正在努力输出一个漂亮的干净的url,像这样:
.../display&type=foo&id=1
我得到的总是:
.../display%26type=foo%26id=1
为什么Symfony2 url编码这个?
我的控制器是这样的:
/**
* Displays content
*
* @Route("/display/type={type}&id={id}", name="content_display")
* @Template(...)
*/
public function displayAction($type, $id = null) {
...
}
我的小树枝模板有:
<a href="{{ path('content_display', {'type': type, 'id': entity.id}) }}">{{ entity.id }}. {{ entity.name }}</a><br />
所以我试着添加这里描述的|raw
和自动转义off标签。但目前还没发现,有什么想法吗?
谢谢!
/display/type={type}&id={id}
…不是一个有效的URL…您必须将第二个斜杠替换为?
:
/display?type={type}&id={id}
我很确定,如果您将其更改为简单的/display
,当您尝试用键值映射呈现URL时,那么Symfony将添加这些参数,因为它无法在路径本身中找到这些键。
编辑:
通过文档确认:
generate方法接受一个通配符值数组来生成URI。但是如果您传递了额外的值,它们将作为一个查询字符串。