2011-04-26 69 views
0

使用RoR 2.3.8。在Rails URL中使用base36 /唯一ID

我已經試過to_param,friendly_id,並在年底,我發現我將在Unicode轉換真正頭痛的時候我的網站去國際化。我計劃擁有許多語言,重音,中文,日文,韓文等內容。因此,我不打算將這些標題放在我的網址中,而是打算犧牲它。是的,我只想要一個ID。

現在我想實現一些類似於YouTube的內容,其中每個視頻網址都以唯一ID結尾。比方說,有ID=10條目都有一個唯一的ID:

http://abc.com/shops/rD4g35tQ

我想要的網址是永久性的。

我不知道該怎麼去做。有人可以給我看一些例子,或者給我點頭?

謝謝。

回答

0

如果要生成UUID,這LIB將幫助您: https://github.com/assaf/uuid

,你所要做的就是把before_create爲新的UUID分配給你的對象的唯一的事,和你做。

3

您可以使用Base 36對ID進行編碼。 36是一個很好的使用基數,因爲數字可以用數字0-9和字母A-Z表示。

# Example with ID = 10. Convert from Base 10 to Base 36 
id = 10 
id.to_s(36) #=> "a" 

# Convert from Base 36 back to Base 10 
"a".to_i(36) #=> 10