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 に答える