我有一个简单的搜索查询,它返回基于邮政编码的建筑物列表。邮政编码存储在地址表中,在建筑物和地址上具有一对一的关系。现在我需要根据多个邮政编码搜索建筑物。
<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')
但它没有给出理想的结果。任何帮助。
答案 0 :(得分:1)
如果我理解正确,您的查询应该更像这样:
buildings = Building.joins(:address).where('addresses.zip in (?)', params['fs_Zip'])
但是你需要确保params['fs_Zip']
的格式适合该查询(即拉链数组)。