路由要求0

时间:2013-01-15 08:45:07

标签: symfony routes symfony-2.2

我的Symfony2.2测试版路线出了问题。 (symfony的-2-2-0-β-1)

我使用这样的annoations路线:

@Route("/form/{id}", defaults={"id"=0}, requirements={"id"="\d+"});

错误是:

  

在渲染模板期间抛出异常(“参数”id为路径“[...] _ form”必须匹配“\ d +”(“”给定)。“)in [...] :第1行的form.html.twig。

第1行是:

{{ path("[...]_form") }}

我认为路线是正确的,因为我将“id = 0”定义为默认值。 在Symfony2.1中,相同的代码可以正常工作。

2 个答案:

答案 0 :(得分:1)

您是否尝试在操作中设置默认设置并将其从注释中删除?

/**
 * @Route("/form/{id}", name="my_form", requirements={"id"="\d+"});
 */
public function myFunction($id = 0){
...

我相信这是Symfony 2.2中的一个变化,尽管我还没有尝试过。 http://symfony.com/blog/new-in-symfony-2-2-small-things-matter#defining-default-values-when-using-the-route-annotation

答案 1 :(得分:-1)

你可以尝试

    requirements:
    id: \S|\d+