我有一个模型,报价,并试图从用户那里获取 IP 地址并按纬度和经度对坐标进行地理编码。gem 文档指出,在已知 ip 地址的地方,代码应该是:
模型:
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
感谢所有帮助,谢谢。