php – twig path()函数生成不同的结果

我试图通过使用参数调用path()来添加动态链接到我的twig模板.

{{ path('single_sale_submit_page', {'id': book['id']}) }}

我在我的控制器中使用注释:

@Route("/book/{id}", name="single_sale_submit_page")

这会产生以下网址:../ book /?id = 123456789.我不断收到我的控制器需要一个强制参数的错误,这当然是正确的,因为生成的url有不同的语法(?).

如何以path()生成的url对应的方式设置twig

../book/123456789

并不是

../book/?id=123456789

编辑:
这个question和我的问题有些相同.

最佳答案 在注释中向控制器添加默认值:

@Route("/boek/{id}", defaults={"id" = 1}, name="single_sale_submit_page")

清除缓存:

app/console cache:clear

重新加载后,path()生成的路径将对应于:

../book/123456789

并不是:

../book/?id=123456789
点赞