У меня есть следующий код в моей модели пользователя.Рельсы. Применение условного кода к обратному вызову после проверки: геокодирование по городу или IP-адрес в зависимости от того, что availlable
geocoded_by :city
after_validation :geocode, if: ->(user){ user.city.present? and user.city_changed? }
Первоначально пользователь не должен вводить свой город, чтобы эти пользователи не были геокодированы. Есть ли способ запустить условный код при обратном вызове, поэтому, если нет города, геокодирование ip_address, если город геокодирует по городу?
Я принимаю это основной вопрос, но у меня было трудно найти информацию о применении условного кода для обратного вызова
пытался
if self.city.present?
geocoded_by :city
else
geocoded_by :ip_address
end
без успеха
Pu t 'if' в вашем методе' geocode'. –
См. Выше - не работает – GhostRider