Аннотация @route переопределяет другой маршрут

у меня есть staticController с действиями для следующих примеров ссылок:

/регистрация/выходные данные

это пример аннотации:

/**
*@Route("/imprint", name="user.static.imprint") 
*/

И теперь у меня есть следующая аннотация для связывания других страниц с динамическими именами ссылок:

/**
 *@Route("/{area}", requirements={"id" = "!imprint"}, name="user.area.index") 
 */

Я использую функцию path() в twig для создания ссылок.

Сгенерированная ссылка /imprint теперь перенаправляется на вторую аннотацию. Как я могу избежать этой проблемы?

Большое спасибо.


person Sandor Farkas    schedule 29.01.2012    source источник
comment
попробуйте поместить метод действия отпечатка выше индекса   -  person Inoryy    schedule 30.01.2012
comment
это разные контроллеры.   -  person Sandor Farkas    schedule 30.01.2012
comment
затем включите конфигурацию маршрута контроллера отпечатков перед индексом...   -  person Inoryy    schedule 30.01.2012
comment
что вы имеете в виду под перед индексом?   -  person Sandor Farkas    schedule 30.01.2012
comment
но я ответил, что это разные контроллеры. Вот почему я не могу поместить метод действия отпечатка выше индекса.   -  person Sandor Farkas    schedule 30.01.2012


Ответы (1)


Второй маршрут соответствует тому же шаблону, что и первый, и мешает ему, поэтому вам нужно поставить первый в приоритете.

Где-то в вашем проекте вы импортируете маршруты этих двух контроллеров как аннотации (вероятно /app/config/routing.yml). Выглядит примерно так:

bar_route:
    resource: "@FooBundle/Controller/BarController.php"
    type:     annotation
    prefix:   /

Сейчас, скорее всего, импорт второго контроллера выше первого. Переверни это.

person Inoryy    schedule 30.01.2012
comment
Здравствуйте, я импортировал всю папку контроллера как аннотацию. AcmeDemoBundle: ресурс: @AcmeDemoBundle/Controller/ тип: префикс аннотации: / - person Sandor Farkas; 30.01.2012
comment
Просто разбейте его вручную, как в моем примере, и убедитесь, что контроллер со вторым маршрутом указан первым. - person Inoryy; 30.01.2012
comment
когда я помещаю это в файл routing.yml, у меня возникает следующая ошибка: невозможно повторно объявить класс"> stackoverflow.com/questions/9093322/ - person Sandor Farkas; 01.02.2012