rails中的SQL查询构建器

我们正在尝试构建一个SQL查询构建器,允许用户使用可视化辅助进行查询。
我们已经得到了前端所有用户可以选择表添加条件等。 然而,我们的后端是一团糟,因为我们试图将这些查询作为字符串从用户获取条件,然后在我们的模型中制作适当的SQL字符串。
当我们添加对越来越复杂的查询的支持时,这最终将变得非常错误并且难以维护。 有人知道我们可以使用的sql builder插件,或者更好的方法来解决这个问题。

查看arel 。 此项目的一个分支现在在Rails 3中用于帮助ORM不可知论。

有关高级搜索表单的searchlogic的railscast显示了如何将named_scopes链接在一起并使用它们来执行复杂的动态查询。

这里也是searchlogic repo。

我也尝试建立其中一个。 事实上,我正在努力建立一个。 非常令人沮丧,马车。 这些链接可能会有所帮助。

使用记录filter进行复杂查询是有意义的。 我正在尝试一种方法,我以Json格式从用户那里获取查询字符串。 然后将此字符串转换为有效的记录filter语法,这将需要解析整个字符串。 在我们解析了字符串之后,如果它的语法正确,我只需要eval它并获得结果。

您应该查看条件生成器插件:

http://blog.inquirylabs.com/2007/01/04/condition-builder-10-released/

不确定它是否能满足您的所有需求,但它对我来说效果很好。