1

我正在尝试使用地理编码器

我正在尝试获取以下查询的结果(我的控制器中有这个):

Event.near([params[:lat].to_f, params[:lng].to_f], params[:radius].to_f, unit: :km)

在我的模型中,我有:

geocoded_by :address, :latitude  => :lat, :longitude => :lng 
after_validation :geocode

但我得到以下信息:

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: lon: SELECT events.*, (69.09332411348201 * ABS(lat - -33.425329) * 0.7071067811865475) + (59.836573914187355 * ABS(lon - -70.604895) * 0.7071067811865475) AS distance, CASE WHEN (lat >= -33.425329 AND lon >= -70.604895) THEN  45.0 WHEN (lat <  -33.425329 AND lon >= -70.604895) THEN 135.0 WHEN (lat <  -33.425329 AND lon <  -70.604895) THEN 225.0 WHEN (lat >= -33.425329 AND lon <  -70.604895) THEN 315.0 END AS bearing FROM "events" WHERE (lat BETWEEN -33.714792566221696 AND -33.1358654337783 AND lon BETWEEN -70.95172225903696 AND -70.25806774096304) ORDER BY distance

任何帮助表示赞赏

4

1 回答 1

0

这总是会发生......我们应该先这样做,然后再问这里:重新启动计算机。

重新启动计算机后,问题得到解决......不知道为什么有必要这样做。也许有些东西卡在内存中,需要一些硬重置..

于 2012-02-04T23:22:32.290 回答