我试图从地址获取纬度和经度但是当我运行rails db:种子纬度和经度保持空白而其余的字段将被播种
这是我的模特
attr_accessor :lat, :lng
geocoded_by :address, :latitude => :lat, :longitude => :lng
after_save :geocode, if: ->(building){ building.address.present? }
我有宝石地理编码器'在GemFile中
My Rails version 5.0.6
and ruby version 2.4.1
注意:我只需要使用'地理编码器'宝石 这就是我所拥有的,提前谢谢
答案 0 :(得分:2)
after_save
表示在将记录保存到数据库后完成地理编码,因此地理编码信息本身不会保存到数据库中。
此外,attr_accessor :lat, :lng
会覆盖Rails为lat
和lng
数据库列提供的getter和setter方法。
只需将您的代码更改为:
# remove this line: attr_accessor :lat, :lng
geocoded_by :address, :latitude => :lat, :longitude => :lng
before_save :geocode, if: ->(building){ building.address.present? }