1

我的 Symfony2.2 beta 路由有问题。(symfony-2-2-0-beta-1)

我使用这样的注释路由:

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

错误是:

在 [...]:form 中的模板渲染期间引发了异常(“路由“[...]_form”的“参数“id”必须匹配“\d+”(“”给定)。”)。 html.twig 在第 1 行。

第 1 行是:

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

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

4

2 回答 2

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

于 2013-01-15T09:52:15.313 回答
-1

你可以试试

    requirements:
    id: \S|\d+
于 2015-05-07T13:53:01.120 回答