ジオコーダーを使用する 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 が返された場合のエラー メッセージを追加したいと思います。このスタックオーバーフロー スレッドでは、before_validation
代わりにを使用する必要があることが説明されてafter_validation
いますが、ビューを再レンダリングして有効な地理位置情報を入力できるように、どこにエラーを追加すればよいかまだわかりません。
この情報をどこに置くべきかについてのアイデアはありますか? ありがとう!