Geocoder和rails - 参数数量错误(3个为1)

时间:2016-12-16 09:39:01

标签: ruby-on-rails rails-geocoder

我阅读了所有帖子,但没有找到解决方案。我使用地理编码器发出一个.near请求,它适用于一个控制器,但是对于另一个控制器没有用这个错误:错误的参数数量(3个用于1)。

以下是两行:

这个在我的school_controller.rb

中不起作用
@schools_premium = School.where(:subscription.exists => true)

@schools_aside = @schools_premium.near([params[:latitude], params[:longitude]], radius, units: :km).limit(3)

我也尝试过:@ school.coordinates.reverse而不是params [:latitude] ..

但是这个(在home_controller.rb中):

@schools = School.near([params[:latitude], params[:longitude]], radius, units: :km).limit(30)

我的学校模型上有geocoded_byreverse_geocoder

有人有同样的问题吗?

1 个答案:

答案 0 :(得分:1)

您也可以通过这种方式实现:

@schools = School.near([params[:latitude], params[:longitude]], radius, units: :km).limit(30)
@schools_aside =  @schools.premium_school

School.rb(模特)

scope :premium_school, -> {where("subscription = ?", true)}