【发布时间】:2017-01-26 15:39:10
【问题描述】:
我如何测试Geokit::Geocoders::MultiGeocoder.geocode(generate_address) 仅在保存后才被调用的事实。我应该以不同的方式编写代码吗?
请帮忙。
`
https://gist.github.com/bennacer860/b67583afee1bb9255938a3a621a80a54
class Playspace < ActiveRecord::Base
before_validation :geocode_address, on: [:create, :update]
def geocode_address
geo = Geokit::Geocoders::MultiGeocoder.geocode(generate_address)
# puts geo
if geo.success
self.lat = geo.lat
self.lng = geo.lng
self.state_code = geo.state_code
self.country_code = geo.country_code
self.geolocated_at = Time.now.utc
else
errors.add(:address, "Could not Geocode address #{generate_address}")
end
end
def did_address_change?
%w( address city state_code country_code postal_code lat lng ).each do |column|
return true if (self.send("#{column}_changed?"))
end
false
end
end
【问题讨论】:
标签: ruby-on-rails ruby minitest