2010-08-17 56 views
2

我使用的是用戶輸入的字符串創建一個URL,我只想要的網址包含小寫字母和連字符幫助刪除非法字符?

例如example.com/this-is-a-url

在我的模型,我至今還說:

def to_param 
     name.downcase.gsub(" ", "-") 
    end 

這使得小寫和複姓。我如何刪除所有非法字符,如'/「$£%&等等?正則表達式可能是答案,但是在Rails中已經內置了一些用於此目的的內容嗎?

也許不是這樣做以上,我應該創建一個驗證這可以確保「名」是唯一的空格和字母?是否有內置的用於此目的的東西嗎?

回答

7

您可以使用ActiveSupport的parameterize方法:

def to_param 
    name.parameterize 
end 
+0

我很驚訝,這不是在我掛的問題。內建方法+1。 – 2010-08-17 16:11:02

+0

更新後的鏈接:http://apidock.com/rails/ActiveSupport/Inflector/parameterize – JellyFishBoy 2014-10-06 10:50:52