我收到一个模型而不是另一个模型的错误。我可以运行Job.all.within(5, :origin => [0, 0])
,但不能运行User.all.within(5, :origin => [0, 0])
,即使他们的模型中有相同的信息:acts_as_mappable lng_column_name: :longitude, lat_column_name: :latitude
对于破损的情况,它似乎在这里打破(这是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>
发生了什么?
答案 0 :(得分:0)
geocoder
gem似乎存在依赖性问题。删除geocoder
gem应该可以正常工作
Location.within(5, :origin => [37.792,-122.393])
答案 1 :(得分:0)
对我来说,解决方法是:您需要在模型中的“ geocoded_by”之后加上“ acts_as_mappable”。