Geocoder Gem – 获取request.location.country的“保留”(即使在Local!中)
我需要能够在本地查看地理编码器国家和城市的输出,以获得“Hi,Yu在{country detected}中”的消息。
为了能够在本地/开发模式下使用地理编码器,我已经遵循了一些SO建议并放置:
在config / environment / development.rb中
class ActionDispatch::Request def remote_ip "84.34.156.155" # fake ip for example end end
并在application_controller中
def lookup_ip_location if Rails.env.development? Geocoder.search(request.remote_ip).first else request.location end end
在我的主页上,如果我把:
您在中
它在本地显示“你在保留”。 它认为ip = 00.00.00并且构建地理编码器以返回“在那种情况下保留”。
很公平,如果我把:,它然后工作,并给我我已放入config / environment / develomment.rb的IP:84.34.156.155
所以我试图把“你在”,但它不起作用,并给我错误:
undefined method `country' for 84.34.156.155":String
如何在本地显示我设置的IP位置的国家/地区!
谢谢
它在生产中工作正常(它显示’你在法国’!)但不在本地!
我能怎么做? 我可以在本地工作和检查东西,而不是每次都要部署以检查它是否有效。
你应该把它称为
Geocoder.search(request.remote_ip).first.country