我習慣使用地理編碼器gem,我在http://railscasts.com/episodes/273-geocoder中看到的方式,但是我的模型變得比給出的示例稍微複雜一些。導軌 - Geocoder Gem:geocoded_by與兩個表格
現在,我想用2種型號:
- 「城市」,其中有一個 「name」 屬性
和
- 「位置」,其中有 「緯度」, 「經度」 和「city_id 「屬性
這樣,位置將具有默認的緯度和經度值,然後我們可以精確地確定它們。
問題是,在位置模型中,如何指定該位置是geocoded_by City模型中的名稱?
我一直在尋找簡單的東西,這樣的:
geocoded_by :city, :name
或
geocoded_by self.city.name
謝謝您的幫助。
編輯: 以下是當前機型:
class Location< ActiveRecord::Base
attr_accessible :city_id, :latitude, :longitude
belongs_to :city
geocoded_by ??? (how to specify the city.name value ?)
after_validation :geocode
end
class City < ActiveRecord::Base
attr_accessible :name
has_many :locations
end
我試着回答你的問題,但是如果你是通過城市名稱進行地理編碼的,那麼不應該將經緯度存儲在城市表格中嗎?我的意思是在一個城市的所有地點都會有相同的經緯度。你可能會將它存儲在城市表格中,而不是位置。 – Mischa