Не удалось сгенерировать маршрут value_user_create

У меня проблема с моим Symfony2-Project с SonataAdmin- и UserBundle. Я установил и настроил все в соответствии с Admin- и UserBundle-Documentations и попытался запустить его, что для начала кажется хорошим. Таким образом, можно сказать, что оба комплекта поставляются «из коробки». Когда я пытаюсь получить доступ к списку пользователей из панели администратора (путь по умолчанию /admin/sonata/user/user/list), я получаю следующее:

An exception has been thrown during the rendering of a template
("Unable to generate a URL for the named route "value_user_create" as
such route does not exist.") in
"SonataAdminBundle:CRUD:list.html.twig".

Как уже было сказано, я не изменил информацию о маршрутизации по умолчанию, предоставленную Sonata, и не перезаписал контроллер или что-то еще. Согласно консоли symfony router:debug маршрут admin_sonata_user_user_create среди других CRUD-маршрутов существует (указывает на /admin/sonata/user/user/create)

Так что мне кажется, что значение в имени маршрута value_user_create не заменяется префиксом admin_sonata_user, но это просто мысль, и я не могу это доказать. В любом случае, я не могу найти места, где можно решить эту проблему, поэтому любая помощь и совет могут быть полезны здесь.

С уважением и заранее спасибо

редактировать: мой пользовательский сервис сонаты выглядит так:

sonata_user:
    security_acl: false
    class:
        user:   Application\Sonata\UserBundle\Entity\User
        group:  Application\Sonata\UserBundle\Entity\Group
    admin:
        user:
            class:          Repertorium\AdminBundle\Entity\UserAdmin
            controller:     SonataAdminBundle:CRUD
            translation:    SonataUserBundle
        group:
            class:          Sonata\UserBundle\Admin\Entity\GroupAdmin
            controller:     SonataAdminBundle:CRUD
            translation:    SonataUserBundle

После первого комментария здесь я создал свой собственный UserAdmin-Class, который является производным от Sonata\UserBundle\Admin\Entity\UserAdmin-Class по умолчанию, за исключением того, что он устанавливает для baseRouteName значение null, как уже упоминалось. Как сказано в конфигурации, я использую AdminBundle-CRUD-Controller по умолчанию. Никакого переопределения в этом случае или что-то в этом роде. Очистил кеш, попробовал еще раз - та же ошибка. Также пытался установить для него литерал, такой как «user_admin», но тот же эффект. Странно то, что все остальные маршруты работают нормально; Я могу открыть страницу создания пользователя, а также создать группу и список групповых страниц.


person Andreas Müller    schedule 19.08.2013    source источник


Ответы (1)


Как выглядит ваше определение услуги? Используете ли вы CRUD-контроллер по умолчанию? Кроме того, кажется, что у вас есть переменная Admin::$baseRouteName, перезаписанная в вашем классе Admin со значением вместо нуля. Попробуйте установить его так:

class UserAdmin extends Admin {

    public $baseRouteName = null;

    // ...
}

Это что-то меняет? Не забудьте попробовать очистить кеш.

person TautrimasPajarskas    schedule 20.08.2013
comment
эй, спасибо за ваш ответ. Я надеюсь, что действовал в соответствии с вашими предложениями и отредактировал результаты в своем исходном сообщении. К сожалению не изменился. Я использовал только предоставленные классы SonataUserBundle-Admin по умолчанию, поэтому у меня не было своих собственных, которые могли бы перезаписать что-то до того, как я создал производный класс, чтобы установить baseRouteName, как вы предложили. - person Andreas Müller; 22.08.2013