宁静的路线定制

时间:2009-11-05 16:38:35

标签: ruby-on-rails

如何将restful路由网址自定义为stackoverflow等友好网址?

我有 stackoverflow.com/questions/424 /

我希望拥有 stackoverflow.com/questions/424/title-of-the-page

4 个答案:

答案 0 :(得分:1)

map.resources:问题
map.friendly'questions /:id /:title',: controller => 'questions',:action => '显示'

这些是我最后的自定义。有更好的想法吗?

答案 1 :(得分:0)

StackOverflow在请求处理时忽略字符串第二个参数。在URL构建时,它为人类和(可能)SEO添加它。

答案 2 :(得分:0)

我首先要看一下像friendly_id这样的功能,看看那些不是你想要的......

答案 3 :(得分:0)

如果只想使用一个控制器,最简单的解决方案可能是添加一个带有忽略参数的路由,如下所示:

# config/routes.rb
map.connect 'questions/:id/:ignored', :controller => 'questions', :action => 'show'

确保将放在之前该文件底部的默认路由。或者,更好的是,如果您正在使用命名路由和资源(如自动生成的注释中所建议的那样),请将它们注释掉。