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

Geocoder and rails - wrong number of arguments (3 for 1)

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

这是相同的两行:

这个在我的 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

有人遇到同样的问题吗?

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

@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)}