我有一个模型,提供,并试图从用户获取IP地址,并通过经度和纬度对坐标进行地理编码。宝石文档表示,其中IP地址是已知的代码应该是:Rails中的Ruby Geocoder gem问题
型号:
geocoded_by :ip_address, :latitude => :latitude, :longitude => :longitude
但是我没有IP地址最初保存,所以我把它改成这样:
if :current_location
self.ip_address = request.ip
geocoded_by :ip_address, :latitude => :latitude, :longitude => :longitude
end
request.ip
是ActionView的方法,我相信所以不能从模型中调用。我已经测试过这个辅助方法,它返回本地:主机地址。但是,当我尝试以这种格式保存它时,它不会保存任何内容到模型中。
什么是最简单的方法来保存ip_address到模型,因此它可以以这种格式使用?它应该被提取到一个辅助方法吗?有没有方法include
或require
模型中的正确模块?
仅供参考创业板指南是在这里:http://www.rubygeocoder.com
所有帮助表示赞赏,感谢。
谢谢,但我不愿意在此阶段重新创建模型,因为除了地理编码功能之外,它现在有点复杂。是否有任何其他宝石或简单的方法来获取用户的IP地址并将其保存到您使用的模型中?我将尝试使用Geokit-rails,看看它是否更好。 – user2514224