【发布时间】:2012-04-10 11:00:21
【问题描述】:
我已经使用 Symfony 很长时间了,但我是 Symfony2 的新手。在使用 CRUD 生成器为名为 MediaArea 的模块生成脚手架后,我编辑了我的路由以包含此规则:
_welcome:
pattern: /
defaults: { _controller: VNNPressboxBundle:MediaArea:new }
当我在浏览器中访问该页面时,出现以下错误:
在渲染模板期间引发了异常 (“路由“mediaarea_create”不存在。”)
当我创建路线时,错误自然会消失。路线如下:
mediaarea_create:
pattern: /foo
defaults: { _controller: VNNPressboxBundle:MediaArea:create }
所以我可以手动创建我需要的所有路线 - mediaarea_create、mediaarea_index 等 - 但那将是愚蠢的。有没有办法告诉 Symfony 我有所有这些需要工作的 mediaarea 路由?
【问题讨论】:
-
您是否尝试将 CRUD 生成器生成的路由(并放入您的包中)附加到主应用程序 routing.yml 文件?或者你是想让 Symfony 自动承担 crud 路线?
-
回答你的第一个问题,我找不到任何证据表明 CRUD 生成器生成了任何路由。如果是这样,我不在乎他们在哪里工作,只要他们工作。对于您的第二个问题,如果这样做会很好,但我的主要追求是在这种情况下找到处理路由的“正确”方式。
-
我会在您的 src/{namespaceName}/{bundleName}/Resources/config 文件夹中检查任何生成的路由。如果那里什么都没有,您可能需要手动创建路线。有一种方法可以让 symfony 自动创建它们。如果不使用 FOSRestBundle,我不能 100% 确定如何做到这一点:github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Routing/…,但您可以查看他们的捆绑包,了解他们是如何做到的。
-
我确实找到了
src/VNN/PressboxBundle/Resources/config/routing.yml,但其中没有生成路由。我将查看 FOSRestBundle。谢谢。 -
为什么设计网址会很笨?
标签: symfony url-routing