0

在 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

为什么我将其格式化为标准查询字符串 (get) 变量而不是路由?

4

1 回答 1

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而不是生成错误消息。

如果有错误消息会更快地找到它,但我看到按原样使用它是有用的。

干杯! =)

于 2012-10-06T14:12:25.343 回答