在Rails 3中处理虚荣URL帮助的最佳方法是什么?

时间:2010-11-28 04:45:43

标签: ruby-on-rails

我有一个正在使用Rails 3的Web应用程序,我刚刚为应用程序中的现有资源实现了一些基本的虚荣URL路径。我要做的是必须明确地在用户的个人资料页面上构建可用资源的网址,例如:我希望能够在视图中使用link_to构建一个URL,格式为:

typealoud.com/:user_id/:thread_id/:comment_id

而不是标准的嵌套资源助手给我的东西,例如:

typealoud.com/threads/:thread_id/comments/:comment_id

我应该自己做URL帮助器,还是现有的gem?

1 个答案:

答案 0 :(得分:3)

要做到这一点,我会把它放在我的路线的顶部:

match ':user_id/:thread_id/:id', :to => "comments#show"

我已将此示例中的comment_id更改为id,因为它是“The Rails Way”,最后一个id参数简称为id。它还会缩短代码。

如果您希望获得路由助手,请使用:as选项:

match ':user_id/:thread_id/:id', :to => "comments#show", :as => "comment"

然后你可以使用comment_path / comment_url来访问路由,但你必须传入三个参数,每个参数都是一个对象或一个对象的id。