我正在尝试找出在哪里为使用地理编码器的 rails 4 应用程序添加验证错误。
我的模型如下所示:
class Tutor < ActiveRecord::Base
belongs_to :user
validates_presence_of :user_id
geocoded_by :address do |obj, results|
if geo = results.first
obj.latitude = geo.latitude
obj.longitude = geo.longitude
obj.country = geo.country
obj.city = geo.city
obj.postalcode = geo.postal_code
obj.address = geo.address
end
end
after_validation :geocode, if: :address_changed?
end
我注意到if geo = result.first
只有在成功找到地址时才会执行条件。如果返回 nil,我想添加一条错误消息。我看到这个 stackoverflow 线程解释说我应该使用before_validation
而不是after_validation
,但我仍然不明白在哪里添加错误,以便我的视图可以重新渲染并可以输入有效的地理位置。
有什么想法我应该把这些信息放在哪里?谢谢!