У меня есть модель 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
?Что бы вы предложили в качестве решения?
Спасибо