2015-02-09 52 views
1

我得到一個模型發生的錯誤,而不是另一個。我可以運行Job.all.within(5, :origin => [0, 0]),但不User.all.within(5, :origin => [0, 0]),即使他們已經在他們的模型相同的信息:acts_as_mappable lng_column_name: :longitude, lat_column_name: :latitudeGeokit Rails:將符號隱式轉換爲整數

對於損壞的案例,這似乎是在這裏打破(這是從Geokit創業板代碼):

def within(distance, options = {}) 
    options[:within] = distance 
    #geo_scope(options) 
    where(distance_conditions(options)) # HERE 
    end 

在哪裏,如果我打斷,我可以輸出:

>> options 
=> {:within=>5} 
>> distance_conditions(options) 
!! #<TypeError: no implicit conversion of Symbol into Integer> 

這是怎麼回事?

+1

立即在我的文件中發現剎車線。我也在使用Geocoder gem。我的'Job'模型中的'geocoded_by:postcode'這一行正在破壞它。如果我使用geokit,我可以將Geocoder gem取出。 – 2015-02-09 22:23:32

+1

好的,所以修復結果是:您需要「acts_as_mappable」在模型中的「geocoded_by」之後。 – 2015-02-10 17:17:01

回答

0

看起來依賴性問題與geocoder寶石。刪除geocoder寶石應該可以工作

Location.within(5, :origin => [37.792,-122.393]) 
相關問題