2011-01-06 29 views
2

我有一個rails項目。我腳手架站點和服務器,他們的模型如下。創建新網站時,我想通過獲取網址指向的IP將其與正確的服務器相關聯。我將運行一個cronjob或EventMachine來檢查這個數據是否仍然是最新的。這樣,這些數據將保持最新,用戶不必維護它。如何在Rails中獲取站點IP

問題是:我該怎麼做;如果我只有Rails中的url,我如何獲取站點IP?

我在Ruby 1.9.2上運行Rails 3。

Table name: sites 
url  :string(255) 
name  :string(255) 
server_id :integer #this is a foreign key to a server 

Table name: servers 
ip   :string(255) 
name  :string(255) 

回答

8

看看Resolv,它是ruby stdlib的一部分。

Resolv是用Ruby編寫的線程感知型DNS解析器庫。

>> require "Resolv" 
=> true 
>> p Resolv.getaddress "google.com" 
"209.85.149.147" 
+0

這工作,太感謝你了!我一直在尋找這樣的事情:p – 2011-01-06 10:58:43