2012-01-24 19 views
5

Tôi đang trong quá trình chuyển đổi ứng dụng của mình để sử dụng trình mã hóa địa lý. Trong bảng địa điểm của tôi, tôi có các cột cho địa chỉ, lat, lng, street_address, thành phố & zip. Sử dụng geocoder Tôi hạnh phúc có thể điền lat, lng & cột địa chỉ sau khi xác nhận với những điều sau đây mô hình nơi tôiSử dụng Bộ mã hóa địa lý, có cách nào để lưu tên phố, thành phố và mã zip để tách biệt các cột không?

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

Có cách nào cũng có geocoder thêm tên đường, thành phố và zip ba khác, cột riêng biệt?

Trả lời

10

Tôi vẫn còn mới mẻ với đường ray nên tôi đã bỏ lỡ điều này lúc đầu, nhưng hy vọng điều này sẽ giúp người khác.

trong mô hình của tôi

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 

và theo quan điểm của tôi

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

Cảm ơn! Tôi không biết rằng 'geocoded_by' cũng có thể mất một khối – Damien

Các vấn đề liên quan