2
我有一个应用程序Photos
和Locations
。如何将地理编码数据存储在单独的表中?
class Photo < ActiveRecord::Base
belongs_to :location
end
class Location < ActiveRecord::Base
has_many :photos
end
我想要做的是汽车使用地理定位的照片的:address
场,但我想地理位置数据存储在locations
表(带geoocoder gem)。
通过遵循这个宝石的github页面的教程,我能够将这些数据存储在Photos
表中,没有任何复杂性,但我甚至无法想象如何将此自动地理定位魔法移动到关联的表格。
更重要的是,如果它像标签一样工作 - 如果提供的地址已经在locations
表中,那么脚本应该将其与新的/更新的照片相关联。但是如果数据库中没有这样的地址,它应该创建一个新的位置记录。
通常情况下,我会通过手动对before_save
回调进行地理编码来手动100%地完成回调,但我觉得这是一个非常肮脏的解决方案,我相信有一个我不知道的解决方案。