在Symfony2 TWIG中,尝试生成这样的路径时:
<a href="{{ path('folder_new', { 'folder': folder.id }) }}">
我没有得到我期望的路线
这是我的预期:
http://localhost/site/web/app_dev.php/Media/folder/new/2
这是我实际上从path()命令
得到的http://localhost/site/web/app_dev.php/Media/folder/new?folder=2
为什么我将其格式化为标准的querystring(get)变量而不是路由?
答案 0 :(得分:2)
原因是我将变量命名为错误。
folder_new:
pattern: /new/{parent}
defaults: { _controller: "AcmeBundle:Folder:new", parent : NULL }
在我的路由中,我调用了变量parent
而不是folder
。
正确path()
应该是这样的:
<a href="{{ path('folder_new', { 'parent': folder.id }) }}">
所以,我知道当Symfony2找不到路由参数匹配传递给path()
函数的变量时,它将变量附加到标准查询字符串($__GET
)格式,而不是生成错误消息。
如果出现错误消息,会发现它更快,但我看到使用它的方式。
干杯! =)