2013-04-16 51 views
0

我不斷收到同樣的錯誤,當我嘗試地理編碼的寶石適用於我的搜索表單。您將在事件控制器中看到2個不同的查詢。如果我單獨使用它們,它們會很好。但是,我將它們一起使用,如圖所示,它確實會引發錯誤。地理編碼器+ Rails的3.2 //的SQLException:沒有這樣的列:距離:

QLite3::SQLException: no such column: distance: SELECT "events"."id" AS t0_r0, "events"."header_id" AS t0_r1, "events"."start_date" AS t0_r2, "events"."finish_date" AS t0_r3, "events"."address" AS t0_r4, "events"."place" ....... 

事件模型

scope :non_timetable, joins(:header).where(headers: {weekly: false}) 

事件控制器

def search 

@events_casual = Event.non_timetable.near(params[:search_where], 20) 
@events_casual = @events_casual.where("events.finish_date >= ?", @time).where((["CAST(headers.title_es as varchar(255)) LIKE ?", "%#{params[:query]}%"] || ["CAST(headers.title_en as varchar(255)) LIKE ?", "%#{params[:query]}%"] || ["CAST(headers.title_eu as varchar(255)) LIKE ?", "%#{params[:query]}%"] || ["CAST(headers.title_fr as varchar(255)) LIKE ?", "%#{params[:query]}%"])).includes(:header).order("events.start_date ASC") 
... 

end 

好像我不得不爲地理編碼查詢指定表名。但是,我不知道如何。任何幫助非常感謝!謝謝

回答

0

可能是相同的問題Geocoder SQLite3::SQLException: no such column: lon:。但我建議您通過Distance Queries in SQLite的Geocoder文檔。和rails cast。希望這會幫助你。

+0

感謝您的快速回答。重新啓動不起作用!我意識到SQLite的侷限性。然而,據我瞭解,它應該工作。不? 這裏也有一些信息,https://github.com/alexreisner/geocoder/issues/42。但無濟於事。 –

+0

我不確定,但可能它是Geocoder問題的一個版本。你是否正在嘗試最新版本?在鏈接你給一個建議是使用寶石從這個分支:寶石「地理編碼器」,:混帳=>「混帳://github.com/alexreisner/geocoder.git」,:支=>「no_grouping」 能你請嘗試嗎? –

+0

我試過並得到這個錯誤。致命的:模棱兩可的論點'no_grouping':未知的版本或路徑不在工作樹中。 使用' - '分隔修訂版本的路徑。這是什麼意思? –

相關問題