如何将单个路径映射到不同的控制器

时间:2011-03-10 01:12:10

标签: ruby-on-rails

我目前的Rails 2项目有几个不同的资源,每个资源都需要通过根级永久链接访问(即可以通过http://domain.com/john访问用户,可以通过http://domain.com/thehunters访问) 。我知道在Rails 3中我可以在路由上使用条件来适当地使用固定路由,但是,Rails 2中的路由条件更加有限。

让我做这项工作的最佳方式是什么?我能想到的最好的是拥有一个PermalinkController然后在正确的控制器中调用正确的动作,但这最终会非常缓慢,缓慢和脆弱。

2 个答案:

答案 0 :(得分:1)

这完全是一个坏主意。如果有的话,这两个网址应该是http://domain.com/users/johnhttp://domain.com/groups/thehunters - 乍一看,您提供的两个网址之间没有区别。 thehunters可能只是另一个用户名。尝试尽可能地保持RESTful。网址很重要,应该很容易理解。

答案 1 :(得分:0)

我认为基本上你建议的是需要做什么,除非没有理由重新路由到不同的控制器。 您的“永久链接”控制器应接受参数中的变量,解释该变量以确定要使用的模型,然后决定将哪个视图用于该模型并呈现该视图。