在多个字段上进行多个操作的范围

时间:2016-08-12 15:18:21

标签: ruby-on-rails scope

我的目标是对一些ActiveRecords进行大量过滤。

我理想的最终游戏是这样的:SalesForce screen shot。 (没有图示:字段名称可以从屏幕上拖放。我输入" FOOBAR",指定"等于"然后点击“帐户名称”字段可以。我然后拖动“类型”字段)

所需功能:根据用户输入过滤模型。用户可以指定要过滤的多个字段以及每个字段的操作。 (也许有点复杂 - 我理想情况下会查询非字段方法.EX:说一个用户has_many: pets。能够过滤超过3只宠物的用户会很高兴。)

大多数字段都是文本,因此我会想象[包含],[不包含],[以[开头],[结束]和[等于]将是所需的主导范围。

尝试:

  • 我看过" http://filterrific.clearcove.ca/"和#34; has_scope",但我不完全确定如何干净利落地实施。 (关系到以下子弹:)
  • Dynamically generate scopes in rails models似乎很方便,因为我正在使用WHITELISTED_OPERATIONS = ["=", "!=", ">", "<", ">=", "<="]之类的东西。但是,这个答案在这一点上还有几年的历史。
  • 如果情况变得更糟,我可以为每个字段实现每个操作,但这似乎不够优雅。

感谢您的时间。

0 个答案:

没有答案