我在当前项目中使用了gmaps4rails令人敬畏的gem,并且必须在数据库中导入应作为gmappable的一千多个对象。

但是,并非所有人都有正确的地址!因此,当我尝试导入时,它在无法使用Gmaps4rails :: GeocodeStatus进行地理编码的第一个地址上失败。

是否可以跳过错误和对地址进行地理编码?

我想出了这个:

acts_as_gmappable :process_geocoding => false
before_save :prepare_gmaps

private

def prepare_gmaps
  begin
    data = Gmaps4rails.geocode(address).first
    self.latitude= data[:lat]
    self.longitude= data[:lng]
  rescue Gmaps4rails::GeocodeStatus
  end
end

最佳答案

您是否只是尝试过:

acts_as_gmappable :validation => false

10-08 12:59