я работаю над проектом symfony2, при открытии страницы индекса я получил ошибку маршрута, как это:
Возникла исключительная ситуация во время рендеринга шаблона (параметр «id параметра» для маршрута «gmjob_examination_front_view» должен соответствовать «[^ /]» (указано «4719»).) В GmjobExaminationBundle: Front: list.html.twig at строка 25
Это моя строка list.html.twig 25:
<a href="{{ path(view.mainRouteName, view.mainRouteParams) }}"><h2>{{ view.title }}</h2></a>
Это аннотация маршрута:
* @Route("/detail-concours/{id}/{slug}", requirements = {"id" = "[^/]"})
Вот два метода экзаменационного класса Entity:
public function getMainRouteName()
{
return 'gmjob_examination_front_view';
}
public function getMainRouteParams()
{
return array(
'id' => $this->id,
'slug' => $this->slug
);
}
Я ценю вашу помощь. Спасибо, прежде чем.
Вы установили требования для параметра id, который будет [^/]
, что по сути означает: идентификатор должен совпадать с любым не замужем персонаж кроме /
,
Вы, вероятно, имели в виду, как сказал @Cherry [^/]+
, Если это так, вы можете удалить requirements
разделите все вместе, потому что именно это регулярное выражение параметра по умолчанию в Symfony Router.
Так что просто сделайте это:
* @Route("/detail-concours/{id}/{slug}")
Совет: если ваш id
всегда целое число, вы, вероятно, хотите сделать это:
* @Route("/detail-concours/{id}/{slug}", requirements = {"id" = "\d+"})
Других решений пока нет …