我有一个Home模型,我想做两个不同的操作,这取决于我是坐标还是城市。
我有以下回调:
reverse_geocoded_by :latitude, :longitude do |obj,results|
if geo = results.first
obj.city = geo.city
obj.country = geo.country
obj.name = "Home in #{geo.city}"
end
end
after_validation :reverse_geocode, if: :allowed_coords?
geocoded_by :city
after_validation :geocode, :reverse_geocode, if: :not_allowed_coords?
def allowed_coords?
binding.pry
self.allowed_coords
end
def not_allowed_coords?
binding.pry
!self.allowed_coords
end
只需触发一个回调after_validation :geocode, :reverse_geocode, if: :not_allowed_coords?
。为什么忽略积极的人?
我可以对after_validation
采取不同的操作吗?
您会提出什么解决方案?
谢谢