2008-09-17 25 views

回答

6

重寫模型類中的to_param方法,以便默認數字ID被替換爲有意義的字符串。例如,這個問題在URL中使用best-permalinking-for-rails

瑞安貝茨有一個Railscast on this topic

3

ActiveSupport在Rails中有一個新的方法來幫助這個 - String#參數化。相關承諾是here;在提交消息中給出的示例是「Donald E. Knuth」。參數化=>「donald-e-knuth」

與John Topley提到的to_param重寫相結合,這使得友好的URL變得更容易。

2

rsl's stringex是相當真棒,把它當做permalink_fu做的權利。

2

我主要使用to_param約翰Topley建議。

請記住將索引設置爲無論您在to_param中使用哪種索引都可以快速搜索,或者您最終將在每次訪問時進行全表掃描。 (一種性能增強!)

一個快速的解決辦法是把ID的地方在那裏,在這種情況下的ActiveRecord會忽略它的其餘部分作爲克魯夫特,只是對ID進行搜索。這就是爲什麼你會看到很多Rails網站的網址爲http://example.com/someController/123-a-half-readable-title

想了解更多關於這個以及其他來自我對Rails使用經驗的SEO觀察的詳細信息,您可能會發現我網站上的this page有用。

1

對我來說friendly_id工作得很好,它可以生成蛞蝓,所以你不需要關係有關複製的URL,範圍也得到支持。

0

我製作了一個小而簡單的寶石,它可以輕鬆覆蓋to_param方法。它可以發現here