如何将restful路由网址自定义为stackoverflow等友好网址?
我有 stackoverflow.com/questions/424 /我希望拥有 stackoverflow.com/questions/424/title-of-the-page
答案 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'
确保将放在之前该文件底部的默认路由。或者,更好的是,如果您正在使用命名路由和资源(如自动生成的注释中所建议的那样),请将它们注释掉。