2011-01-06 51 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