使用Geocoder,有没有办法将街道名称,城市和邮编保存到单独的列?

时间:2012-01-24 16:08:56

标签: ruby-on-rails-3 rails-geocoder

我正在切换我的应用以使用地理编码器。在我的位置表中,我有地址列,lat,lng,street_address,city&压缩。使用地理编码器我很高兴能够填充lat,lng&使用以下我的位置模型验证后验证列

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

有没有办法让地理编码器将街道名称,城市和邮政编码添加到另外三个单独的列中?

1 个答案:

答案 0 :(得分: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]