0

有没有一种方法可以同时搜索 where 条件和 near 条件,显示两者的结果。基本上,我想要一个搜索栏,用户可以在其中输入一个人的姓名,但他们也可以输入一个位置,搜索将显示匹配两者的结果。我尝试了 where 查询,然后是一个单独的 near 查询,并遍历地理编码结果并将它们添加到主要结果中,但这会产生重复并且不太理想。有任何想法吗?

4

1 回答 1

1

您使用的是哪个地理编码 gem?我的猜测是,query.where.near您可以设置选择器生成query.where的等效选项,而不是这样做。near

这是一个不同的问题,理论上与您所问的问题正交......但是您的控制器是否在将查询传递到 ActiveRecord 之前做出任何决定?例如,如果用户输入New York, NY,您的控制器是否“猜测”它是一个位置?还是只是尝试进行名称匹配搜索和地理编码尝试,无论输入是什么?我问这个是因为如果你解析输入,你可能会遇到 if/else 情况, whereif query is a location, do a geocodeelse do a search by name.

我想知道在访问数据库之前有一个不区分人名和地点名称的搜索框是否明智的设计,但也许你有一个创造性的用例。

于 2012-10-26T15:52:12.473 回答