我对Rails还比较陌生,所以我不知道这里缺少什么。
我正在使用geokit在保存时对地址进行地理编码。我有一个方法对地址进行地理编码,如果找不到地址,它会在错误列表中添加一个错误。我在控制台中测试过它,它在地理代码上失败了(可能是添加了错误),但仍然成功保存。
acts_as_mappable
before_validation_on_create :geocode_address
before_validation_on_update :geocode_address
validates_presence_of :street
validates_presence_of :city
validates_presence_of :state
validates_presence_of :zip
validates_presence_of :name
validates_uniqueness_of :name
def geocode_address
geo=Geokit::Geocoders::MultiGeocoder.geocode ("#{street}, #{city}, #{state}, #{zip}")
puts "geocoded: #{street}, #{city}, #{state}, #{zip}"
if geo.success
self.lat, self.lng = geo.lat,geo.lng
else
errors.add(:street, "Could not Geocode address")
end
puts "geo status: #{geo.success}"
end
如有任何帮助,将不胜感激,谢谢:)