2015-01-05 43 views
1

如果我有一個表單輸入,某人放置了'facebook.com'或'google.com',它會將其轉換爲一個有效的URL,添加http://以便rails可以使用它。我想要的是有一個表單,您可以在其中輸入一個URL,並抓取該網站上最常用的3個單詞,並將它們顯示在結果頁面的列表中。此列表應該稍後可訪問,所以我還需要將那些文字與該URL一起存儲。如何在rails中將字符串轉換爲URL

def smart_add_url_protocol 
    url = Url.find_by(params[:url]) 
    unless self.url[/\Ahttp:\/\//] || self.url[/\Ahttps:\/\//] 
    self.url = "http://#{self.url}" 
    end 
    end 

這樣的事情。

+0

目前還不清楚你在問什麼。您想做什麼?我們還需要知道最終輸出應該是什麼樣子。 –

+0

請將其移到您的問題中,而不是發表評論。你想把所有人都需要知道的東西放在那裏回答你的問題,沒有任何毛病。如果你在評論中傳播他們需要知道的知識,那麼獲得幫助需要更長的時間。 –

回答

1

您可以使用URI::HTTP#build像這樣:

URI::HTTP.build(host: 'facebook.com').to_s 
#=> "http://facebook.com" 
1

我推薦的Addressable gem大約是從字符串的URL猜測有點聰明:

require "addressable/uri" 

Addressable::URI.heuristic_parse(some_string_with_an_url).to_s