Symfony2路由注释错误

时间:2014-10-12 00:20:22

标签: php symfony web routing

我正在研究symfony2项目,当打开索引页面时,我得到了这样的路由错误:

在渲染模板期间抛出异常("参数" id"对于路线" gmjob_examination_front_view"必须匹配" [^ /]&# 34;(" 4719"给出)。")在GmjobExaminationBundle:Front:list.html.twig第25行。

这是我的list.html.twig第25行:

<a href="{{ path(view.mainRouteName, view.mainRouteParams) }}"><h2>{{ view.title }}</h2></a>

这是路线注释:

 * @Route("/detail-concours/{id}/{slug}", requirements = {"id" = "[^/]"})

以下是检查类实体的两种方法:

public function getMainRouteName()
{
    return 'gmjob_examination_front_view';
}

public function getMainRouteParams()
{
    return array(
        'id'   => $this->id,
        'slug' => $this->slug
    );
}

感谢您的帮助。谢谢你。

1 个答案:

答案 0 :(得分:0)

您已将id参数的要求设置为[^/],这实际上意味着:Id必须与/以外的任何字符匹配。

你可能意味着,正如@Cherry所说[^/]+。如果是这样,您可以将requirements部分全部删除,因为这正是Symfony Router中的默认参数regex。

所以就这样吧:

* @Route("/detail-concours/{id}/{slug}")

提示:如果您的id始终是一个整数,那么您可能想要它:

* @Route("/detail-concours/{id}/{slug}", requirements = {"id" = "\d+"})
相关问题