Symfony2路由注释错误


Symfony2 Routing annotation Error

我正在进行symfony2项目,当打开索引页面时,我收到了如下路由错误:

在GmjobExaminationBundle:front:list.html.twig的第25行呈现模板期间引发异常(路由"gmjob_examination_front_view"的"参数"id必须匹配"[^/]"(给定"4719")。

这是我的列表。html。wig第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
    );
}

我感谢你的帮助。谢谢你。

您已经将id参数的要求设置为[^/],这本质上意味着:id必须匹配除/之外的任何单个字符。

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

所以只要做到:

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

提示:如果你的id总是一个整数,你可能想让它:

* @Route("/detail-concours/{id}/{slug}", requirements = {"id" = "'d+"})