如何在Ruby on Rails中创建类似quora.com的URL?

时间:2012-03-12 19:45:13

标签: ruby-on-rails routes

例如,

http://www.quora.com/Is-getting-ripped-worth-it

如您所见,问题的URL没有控制器的名称。它与根URL相关联。我怎么能这样做?

在routes.rb中,我尝试了以下内容:

match '/:id' => "questions#show"

虽然有效,但new_questionedit_question路径仍会生成/questions/new(.:format)/questions/:id/edit(.:format)作为网址。

这个问题有没有优雅的解决方案?

1 个答案:

答案 0 :(得分:2)

没有什么可以阻止你这样做:

match '/new' => "questions#new", :as => 'new_question'
match '/:id/edit' => "questions#edit", :as => 'edit_question'

但您必须删除:resources questions

一个优雅的解决方案是使用friendly_id gem:https://github.com/norman/friendly_id

您可以在slugs中找到类似的“> http://www.ruby-toolbox.com/categories/rails_permalinks_slugs