Rails:实现复合过滤的搜索表单

时间:2010-10-31 12:30:09

标签: ruby-on-rails ruby-on-rails-3 rubygems ruby-on-rails-plugins

我有一个包含产品的模型。我想创建一个搜索表单,以允许用户根据需要将复合过滤器应用于产品。例如:

  • 价格介于“10”(文本字段)和“50”(文本字段)之间的产品,颜色为“红色”,“绿色”或“蓝色”(复选框字段),权重为“更少”比'(选择字段)'5kg'(文本字段)。

用户可以过滤相当多的字段 - 可以指定部分,全部或全部字段。

我知道上面的内容可以通过使用命名范围,大量条件逻辑(case和if语句)和Rails形成帮助程序来实现,但是有更清晰,更有效的方法吗?也许有一个gem /插件来提供我忽略的这个功能?

任何建议都非常感谢。

非常感谢。

2 个答案:

答案 0 :(得分:1)

我推荐使用插件searchlogic:

答案 1 :(得分:1)

最后,我选择了meta_search,它似乎提供了searchlogic的大部分功能,但是支持Rails 3。