【问题标题】:Unable to generate route value_user_create无法生成路由 value_user_create
【发布时间】:2013-08-21 12:52:23
【问题描述】:

我的 Symfony2-Project 与 SonataAdmin- 和 UserBundle 有问题。 我根据 Admin- 和 UserBundle-Documentations 安装和配置了所有东西,并试图让它运行,这似乎很好。所以你可以说这两个捆绑包都是开箱即用的。 当我尝试从 Admin-Dashboard 访问用户列表(默认路径 /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 提供的默认路由信息,也没有覆盖 Controller 或其他任何东西。 根据 symfony 控制台 router:debug 的路由 admin_sonata_user_user_create,在其他 CRUD 路由中,存在(指向 /admin/sonata/user/user/create

所以对我来说,路由名称value_user_create 中的值似乎没有被admin_sonata_user-prefix 取代,但这只是一个想法,我无法证明。无论如何,我找不到任何地方可以解决这个问题,所以这里的每一个帮助和提示都可能会有所帮助。

提前致以最诚挚的问候和感谢

编辑: 我的奏鸣曲用户服务如下所示:

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”,但同样无效。 奇怪的是,所有其他路线似乎都运行良好。我可以打开创建用户页面,以及创建群组和列出群组页面。

【问题讨论】:

    标签: php symfony sonata-admin sonata-user-bundle


    【解决方案1】:

    您的服务定义如何?你使用默认的 CRUD 控制器吗?此外,您的 Admin 类中的 Admin::$baseRouteName 变量似乎被“value”而不是 null 覆盖。尝试将其设置为:

    class UserAdmin extends Admin {
    
        public $baseRouteName = null;
    
        // ...
    }
    

    它有什么改变吗?不要忘记尝试清除缓存。

    【讨论】:

    • 嘿,谢谢你的回复。我希望我按照您的建议行事,并将结果编辑到我的原始帖子中。可惜没变。我只使用了提供的默认 SonataUserBundle-Admin-classes,所以我没有自己的,在我现在创建派生类以按照您的建议设置 baseRouteName 之前,它可能已经覆盖了一些东西。
    猜你喜欢
    • 2021-03-12
    • 1970-01-01
    • 2015-08-12
    • 2016-11-03
    • 1970-01-01
    • 2018-12-15
    • 2021-02-18
    • 2019-04-24
    • 2014-02-06
    相关资源
    最近更新 更多