我使用geocoder gem,它可以從http請求中獲取IP地址。從文檔:Ruby:如何改變對象的可讀性
Geocoder adds a +location+ method to the standard <tt>Rack::Request</tt> object so you can easily look up the location of any HTTP request by IP address. For example, in a Rails controller or a Sinatra app:
# returns Geocoder::Result object
result = request.location
我把
@result = request.location
在我的控制器,然後在我看來
<%= @result %>
不過,我得到了這一點。
#<Geocoder::Result::Freegeoip:0x00000102dc7758>
我又試圖
<%= @result.to_s %>
但它並沒有改變任何東西。
任何想法?
的['request.location'返回值(http://rubydoc.info/gems/geocoder/Geocoder/Result/ Freegeoip)有各種方法,你可以嘗試使用這些方法。 – 2012-04-28 03:28:27
謝謝,但是不是很奇怪ip_address不是這些方法之一嗎?地址方法似乎是一個物理地址。 – Leahcim 2012-04-28 03:43:46
'request.ip',至少這就是他們所說的http://www.rubygeocoder.com/ – 2012-04-28 03:48:05