gpt4 book ai didi

ruby-on-rails - Ruby:如何将对象更改为可读的内容

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:23 25 4
gpt4 key购买 nike

我正在使用能够从 http 请求中获取 IP 地址的地理编码器 gem。来自文档:

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

在我的 Controller 中然后在我的 View 中

<%= @result %>

但是,我明白了。

#<Geocoder::Result::Freegeoip:0x00000102dc7758>

然后我尝试了

<%= @result.to_s %>

但它并没有改变任何东西。

有什么想法吗?

最佳答案

要获取客户端的 IP,请使用 request.ip。这是获取 IP 的更正确方法,尤其是当您的用户使用代理时。所以,这很简单:

 request.ip

这是它的来源:

 # File lib/rack/request.rb, line 256
def ip
if addr = @env['HTTP_X_FORWARDED_FOR']
(addr.split(',').grep(/\d\./).first || @env['REMOTE_ADDR']).to_s.strip
else
@env['REMOTE_ADDR']
end
end

关于ruby-on-rails - Ruby:如何将对象更改为可读的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com