Я все еще довольно новичок в рельсах, поэтому я не уверен, что мне здесь не хватает.
Я использую 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
Любая помощь будет принята с благодарностью, спасибо:)