簡體   English   中英

Rails GeoCoder gem 的地址錯誤

[英]Address error with the Rails GeoCoder gem

我正在使用 GeoCoder gem 來查找緯度和經度的位置,它似乎在 rails 代碼中運行良好。 然而,要獲得每個位置的緯度/經度將是冗長的,並且需要相當長的時間。

瀏覽我看到的文檔,我可以使用rake geocode:all CLASS=Location SLEEP=0.25 BATCH=100來處理 100 個批次。

使用這個我遇到了以下錯誤......

NoMethodError: undefined method `address=' for #<Location:0x00007f9cf3d8daf0>
Did you mean?  address1=
               address2=
               address3=
               address4=
               address
               address4
               address2
               address1
               address3
               address3?
               address2?
               address1?
               address4?

按照文檔,我設置了一個地址方法,如下面的位置 model 所示。

class Location < ApplicationRecord
  geocoded_by :address
    reverse_geocoded_by :latitude, :longitude
    after_validation :geocode, :reverse_geocode

    # searchkick locations: [:location]

    def address
        [name, postcode].compact.join(", ")
    end

    #  def search_data
  #   attributes.merge location: { lat: latitude, lon: longitude }
  # end
end

我查看了 StackOverflow,並在 Google 上花費了相當長的時間試圖找出導致此問題的原因,但我終其一生都無法讓它發揮作用。

任何人都有任何指示,或者可以看到我哪里出錯了?

謝謝

地理編碼器希望在您的 model 中使用反向地理編碼有一個:地址列。 您可以像這樣更改默認值:

reverse_geocoded_by :latitude, :longitude, :address
after_validation :reverse_geocode

我將運行遷移以將地址列添加到您的表中。 所以遷移可以像:

rails g model model_name address latitude:float longitude:float

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM