【发布时间】:2012-01-12 21:47:54
【问题描述】:
目前我有通常的控制器/动作结构:
博客控制器:
/blog/list
/blog/create
/blog/detail/my-blog-hash
和 PostController
/post/create
/post/detail/my-post-hash
我想要的是博客文章详细视图的 URL:
/blog/detail/my-blog-hash/post/my-post-hash
我知道有一个 RESTBundle,但这使 IMO 的事情变得过于复杂,并且路由和表单验证存在一些我无法解决的实际问题(即使在 IRC 人员的帮助下)。 我不需要 JSON、序列化程序、特殊视图等的访问点,我只需要一种以某种方式堆叠控制器的方法。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
你的问题没有逻辑意义。您不能让两个控制器处理请求然后返回响应。您可以将其传递给
BlogController,然后再将其转发给PostController,但您最好使用一个控制器并让它负责执行的任何操作. -
@Jaitsu 我不要求一种方法来处理多个控制器的一个请求。我不在乎路由是如何工作的。我想要的是一个 RESTful url 结构和一种构造控制器的方法,以便博客内容可以由 BlogController 处理,而帖子内容可以从 PostController 处理
-
我误解了原来的问题。那么只定义两条单独的路由有什么问题呢?
-
@Jaitsu 实际上没有真正的问题。但是手动处理有一些开销:您必须在每个子控制器操作中检索父对象(博客),并查看帖子是否是它的有效子对象。然后考虑更深层次的层次结构——会有相当多的开销:视图和操作中的参数、检索对象、验证关系——这些都是应该由/某个框架 IMO 处理的事情。但有时最好坚持务实的方式——谢谢你提醒我!你可以写一些说明性的线条,我会给你赏金:)