【发布时间】:2017-12-02 15:21:13
【问题描述】:
我正在尝试在 Ruby on Rails 中构建一个简单的搜索表单,我的表单很简单,基本上你从一系列选项中选择字段,然后显示与这些字段匹配的所有事件。当我将任何字段留空时,问题就来了。
这里是负责过滤参数的代码
Event.joins(:eventdates).joins(:categories).where
("eventdates.start_date = ? AND city = ? AND categories.name = ?",
params[:event][:date], params[:event][:city], params[:event][:category]).all
据我所知,它会查找具有任何空字段的事件,但由于它们都不是空的,除非所有 3 个都被填充,否则它不会匹配,当我试图说时出现另一个问题,看看里面的事件日期范围或数组,我不知道如何将多天传递到搜索中。
一般来说,我对制作搜索表单还很陌生,所以我什至不知道这是否是最好的方法,而且我正在尝试在不需要专门模型的情况下保留搜索。
【问题讨论】:
标签: ruby-on-rails ruby search activerecord rails-activerecord