我正在研究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
);
}
感谢您的帮助。谢谢你。
答案 0 :(得分:0)
您已将id参数的要求设置为[^/]
,这实际上意味着:Id必须与/
以外的任何单字符匹配。
你可能意味着,正如@Cherry所说[^/]+
。如果是这样,您可以将requirements
部分全部删除,因为这正是Symfony Router中的默认参数regex。
所以就这样吧:
* @Route("/detail-concours/{id}/{slug}")
提示:如果您的id
始终是一个整数,那么您可能想要它:
* @Route("/detail-concours/{id}/{slug}", requirements = {"id" = "\d+"})