2012-01-24 6 views
5

ジオコーダーを使用するようにアプリを切り替える処理中です。私の場所のテーブルには、住所、緯度、年齢、street_address、都市& zipの列があります。私の場所では、以下のモデルジオコーダーを使用すると、通りの名前、市区町村、ジップを別々の列に保存する方法はありますか?

attr_accessible :address, :lat, :lng  
geocoded_by :address, :latitude => :lat, :longitude => :lng 
after_validation :geocode, :if => :address_changed? 

として検証した後、私は喜んで緯度を記入することができるよジオコーダ、LNG &アドレスの列を使用すると、ジオコーダが3に通りの名前、都市や郵便番号を追加する必要がありする方法はあります他の列は別ですか?

答えて

10

私はまだレールに新しくなっていますので、最初はこれが欠けていましたが、これが他の人に役立つことを願っています。

私のモデルで

geocoded_by :address do |obj,results| 
    if geo = results.first 
    obj.city = geo.city 
    obj.lat = geo.latitude 
    obj.lng = geo.longitude 
    obj.zip = geo.postal_code 
    obj.state = geo.state 
    obj.country = geo.country_code 
    end 
end 

と私の見解で

@tonic.address = params[:address] 
+1

ありがとう!私は 'geocoded_by'もブロックを取ることができるのか分からなかった – Damien

関連する問題