[英]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.