2012-03-12 54 views
0

例如,如何在Ruby on Rails中製作類似quora.com的URL?

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)的網址。

這個問題有沒有優雅的解決方案?

回答

2

沒有什麼阻止你這樣做:

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

但你必須刪除:resources questions

一個優雅的解決方案是使用friendly_id寶石:https://github.com/norman/friendly_id

你可以在slu find中找到類似的東西「> http://www.ruby-toolbox.com/categories/rails_permalinks_slugs