2013-10-30 114 views
-2

我有一個簡單的搜索查詢,返回基於建築物的郵政編碼列表。郵政編碼存儲在建築物和地址上的一對一關係的地址表中。現在我需要根據多個郵政編碼搜索建築物。軌道上的紅寶石基於郵政編碼搜索

<input type="text" 
     name ="fs_Zip[]" 
     class="input-small text-tip" 
     data-original-title="Enter Zip Code to search." 
     placeholder ="Zip Code"/> 

這是我認爲的代碼。並在控制器中

buildings = buildings.where('address.zip in (?)', params['fs_Zip']) 
if (!params["fs_Zip"].blank? && params["fs_Zip"] != 'zipcode') 

但它沒有給出預期的結果。任何幫助。

+1

解決您的問題。看起來真的很有線。 – Oleander

+1

同意。你想要達到什麼目標? – Severin

+0

建築物和地址是如何相關的? – Amar

回答

1

如果我理解正確的話,您的查詢看起來應該更像是這樣的:

buildings = Building.joins(:address).where('addresses.zip in (?)', params['fs_Zip']) 

但是,你需要確保params['fs_Zip']在該查詢正確的格式(即拉鍊的陣列)。

+1

使用'?'語法與'where'應該處理sql注入問題 – house9

+0

偉大的是不確定的。 – hiattp

+0

雅這就是我卡住的地方,我是否提供自動填充來搜索Gmail中的郵政編碼,用戶可以選擇多個郵政編碼,然後我可以返回它們,或者是否有其他方法來執行此操作 – user2444620