2014-10-12 65 views
0

我工作的Symfony2項目,打開索引頁時,我得到的路線錯誤是這樣的:Symfony2的路由註釋錯誤

一個例外模板(「參數‘ID’路由」的渲染過程中被拋出gmjob_examination_front_view 「必須匹配 」[^ /]「( 」4719「 中給出)。」 在GmjobExaminationBundle):前:在管線25

list.html.twig這是我的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

' 「ID」=「[^ /] + 「' – Cheery 2014-10-12 00:24:31

回答

0
爲id參數

您已設置的要求是[^/],這基本上意味着:身份證必須除/任何單個字符匹配。

你可能是指,因爲@Cherry表示[^/]+。如果是這樣,你可以一起刪除requirements部分,因爲這正是Symfony路由器中的默認參數正則表達式。

所以只是使它:

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

提示:如果您的id始終是一個整數,你可能希望把它:

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