在Rails 3中处理Vanity URL helpers的最佳方法是什么?

3

我正在使用Rails 3开发一个Web应用程序,并已经实现了一些基本的虚拟URL路径对现有资源进行路由。我希望做的是,在用户个人资料页面上不需要显式地构建可用资源的url,比如我想在视图中使用link_to生成以下格式的URL:

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

而不是标准嵌套资源助手给我的东西,像这样:

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

我应该自己编写URL助手,还是有现成的gem可用?
1个回答

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。


我搞定了。感谢你的一切,Ryan。 - John Bellone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接