【问题标题】:Rails Geocoder only when lat/long not presentRails 地理编码器仅在纬度/经度不存在时
【发布时间】:2015-06-18 05:37:44
【问题描述】:

我有一个带有地理编码器的应用程序轨道。

我是重要的 ical 文件,所以有时它们在文件中已经有纬度/经度,有时它们没有。

只有在 lat/long 不存在时,我如何告诉模型进行地理编码?我如何告诉地理编码器使用那些纬度/经度并信任它们?

geocoded_by :full_address
after_validation :geocode, :if => :address1_changed?

如果我直接设置纬度和经度,地理编码器会明白我有经度/纬度吗?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您可以编写自定义条件。

    after_validation :geocode, if: :address_changed_and_lat_long_blank?
    
    
    private 
    
    def address_changed_and_lat_long_blank?
      address1_changed? || lat.blank? || long.blank?
    end
    

    希望这会有所帮助!

    【讨论】:

    • 我可以使用:location_changed? unless self.geo,因为我只想在 geo 不存在的情况下使用它吗?
    • 是的。我会使用 if: :location_changed?, unless: :already_geocoded? 然后有一个名为 already_geocoded? 的方法返回 self.geo8.4 回调的多个条件下有一些文档 here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多