【发布时间】:2011-04-17 12:31:20
【问题描述】:
我正在尝试实现一个类似于 GitHub 使用的“上下文”系统。例如,可以创建属于用户或用户所属公司之一的帖子,具体取决于用户是在“用户”上下文中还是指代其中一个公司的上下文中。
作为其中的一部分,我希望能够根据用户的当前上下文进行路由。例如,如果用户在他们自己的上下文中,/dashboard 应该路由到 users/show,但如果他们在 ID 为 35 的公司的上下文中,那么 /dashboard 应该路由到 companies/35/dashboard。
我可以将/dashboard 路由到负责做出此类决定的特殊控制器,例如context#dashboard,然后它可以执行redirect_to,但这感觉不太正确(也许是因为我们正在采取逻辑Rails 路由模块应该负责并将其移动到控制器?)
在 Rails 3 中解决这个问题的正确方法是什么?
【问题讨论】:
-
我知道您对将仪表板控制器作为伪路由器选项感觉不妥,但是让路由器从 cookie/params 传递的信息中读取上下文/会话模型似乎也很奇怪。跨度>
标签: ruby-on-rails-3 routing contextpath