Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:实现复合过滤的搜索表单_Ruby On Rails_Ruby On Rails 3_Rubygems_Ruby On Rails Plugins - Fatal编程技术网

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

Ruby on rails Rails:实现复合过滤的搜索表单,ruby-on-rails,ruby-on-rails-3,rubygems,ruby-on-rails-plugins,Ruby On Rails,Ruby On Rails 3,Rubygems,Ruby On Rails Plugins,我有一个包含产品的模型。我想创建一个搜索表单,允许用户根据需要对产品应用复合过滤器。例如: 价格介于“10”(文本字段)和“50”(文本字段)之间的产品,颜色为“红色”、“绿色”或“蓝色”(复选框字段),重量为“小于”(选择字段)“5kg”(文本字段) 用户可以根据大量字段进行筛选——可以指定部分字段、全部字段,也可以不指定任何字段 我知道,通过使用命名作用域、大量条件逻辑(case和if语句)和Rails表单帮助器可以实现上述功能,但是有更干净、更高效的方法吗?也许有一个gem/插件可以提

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

  • 价格介于“10”(文本字段)和“50”(文本字段)之间的产品,颜色为“红色”、“绿色”或“蓝色”(复选框字段),重量为“小于”(选择字段)“5kg”(文本字段)
用户可以根据大量字段进行筛选——可以指定部分字段、全部字段,也可以不指定任何字段

我知道,通过使用命名作用域、大量条件逻辑(case和if语句)和Rails表单帮助器可以实现上述功能,但是有更干净、更高效的方法吗?也许有一个gem/插件可以提供我忽略的这个功能

非常感谢您的建议


非常感谢。

我推荐插件searchlogic:

  • 原始插件:
  • My fork,支持按多态关联字段排序:

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

谢谢,我来看看这个。不幸的是,searchlogic似乎不支持Rails 3。