我不知道如何让我的代码变得干净整洁......在某些情况下我仍然会得到一个 nil 位置对象,我试图避免这种情况......而且我无法在办公室重现错误。在那之前,我通过电子邮件收到那些错误,其中应用程序无法在 nil 对象(位置对象)上找到纬度或 country_code
那么我应该怎么做才能确保该位置成为“法国巴黎”是IP或地址不适用于Geocoder?
def find_current_location_from_ip(ip)
unless Geocoder.search(ip).nil? || Geocoder.search(ip)[0].nil?
@location = Geocoder.search(ip)[0].country_code == "RD" ?
Geocoder.search("Paris, France")[0] : Geocoder.search(ip)[0]
else
@location = Geocoder.search("Paris, France")[0]
end
@location
end
def find_current_location_from_address(address)
Geocoder.search(address).blank? ?
Geocoder.search("Paris, France")[0] : Geocoder.search(address)[0]
end
任何提示都会很棒。此外,如果我刷新页面,位置会突然正确,并且 country_code on nil object 错误消失......??
我对我现在可以解决后者感到有点困惑。
干杯,
乔尔