Ruby on rails 如何将一张路线图连接到不同的控制器

Ruby on rails 如何将一张路线图连接到不同的控制器,ruby-on-rails,Ruby On Rails,我当前的Rails 2项目有两个不同的资源,每个资源都需要通过根级别的永久链接进行访问(即,用户可以通过访问,组可以通过访问)。我知道在Rails 3中,我可以在路由上使用一个条件来适当地使用permalinks路由,但是Rails 2中的路由条件要有限得多 对我来说,什么是使这项工作成功的最好方法?我能想到的最好方法是使用PermalinkController,然后在正确的控制器中调用正确的操作,但这最终会变得非常粗糙、缓慢和脆弱。我认为基本上你建议的是需要做的事情,除非没有理由重新路由到不同

我当前的Rails 2项目有两个不同的资源,每个资源都需要通过根级别的永久链接进行访问(即,用户可以通过访问,组可以通过访问)。我知道在Rails 3中,我可以在路由上使用一个条件来适当地使用permalinks路由,但是Rails 2中的路由条件要有限得多


对我来说,什么是使这项工作成功的最好方法?我能想到的最好方法是使用PermalinkController,然后在正确的控制器中调用正确的操作,但这最终会变得非常粗糙、缓慢和脆弱。

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

我认为基本上你建议的是需要做的事情,除了没有理由重新路由到不同的控制器之外。
您的“Permalink”控制器应接受参数中的变量,解释该变量以确定要使用的模型,进而决定要使用该模型的哪个视图,并呈现该视图

这完全是个坏主意。如果有的话,那两个URL应该是
http://domain.com/users/john
http://domain.com/groups/thehunters
-乍一看,您提供的两个URL没有区别
thehunters
可能只是另一个用户名。尽量保持安静。URL很重要,应该易于理解。

这完全不是一个好主意。如果有的话,那两个URL应该是
http://domain.com/users/john
http://domain.com/groups/thehunters
-乍一看,您提供的两个URL没有区别
thehunters
可能只是另一个用户名。尽量保持安静。URL很重要,应该易于理解。

我正在开发一个针对您祖父母的网站,您的祖父母可能并不关心RESTful设计,而是关心易用性。我们已经有用户抱怨无法访问组页面(因为没有键入“/groups/”)在此之前。RESTful并不一定等同于用户友好。Facebook发现了这一点:用户页面和其他类型的页面都位于路径根的同一名称空间中。我正在开发一个针对您祖父母的网站,您的祖父母可能并不关心RESTful设计,而是关心易用性。我们已经使用过了rs抱怨无法访问组页面(因为之前没有键入“/groups/”)。RESTful不一定等同于用户友好。Facebook发现:用户页面和其他类型的页面都位于路径根的同一名称空间中。不幸的是,这将涉及坚持我们的所有逻辑(我们希望所有的动作都能正常工作,而不仅仅是显示,包括嵌套资源中的动作)从一个控制器中的每个其他控制器,用if语句分隔。看起来很难看,很难维护,但至少可以工作。尝试在模型中移动尽可能多的逻辑,只使用控制器获取和路由数据。不幸的是,这将涉及到我们所有的逻辑(我们希望我们的所有动作,不仅仅是显示,还包括来自嵌套资源的动作)都来自一个控制器中的每个其他控制器,由if语句分隔。看起来很难看,很难维护,但至少可以工作。尝试在模型中尽可能多地移动逻辑,只使用控制器获取和路由数据