我有一个包含一系列属性的“事件”数据库。如何允许我的用户搜索“事件”。我已经看过关于文本搜索的教程,但我正在寻找更多的ON/OFF搜索。
每个事件都有一个时间、位置(坐标)和一些其他选择器。我希望用户能够根据时间(min,max)和/或位置(最接近他们的输入坐标)进行搜索,并从选择器中选择。
我该怎么做?我应该看的任何具体教程。我在附近找不到任何东西。谢谢
必须包含多个属性和布尔数学(是距离“事件”位置5公里内的搜索位置。
谢谢
发布于 2014-01-11 17:11:23
试试范围。为模型中的每个可搜索属性创建一个作用域。
例如,time属性:
scope :time_search, ->(min, max) { where("time_column > ? AND time_column < ?", min, max) }
然后来自控制器:Model.time_search(params[:min], params[:max])
。
您还可以链接作用域,如:Model.scope_1(param).scope_2(param)
,它将根据这两个作用域的条件过滤记录。
https://stackoverflow.com/questions/21069923
复制