在编写了一些大型而复杂的 SQL 语句之后,我曾问过如何使用 Rails 以更好的方式做到这一点。但是我最终再次使用了 Arel,因为如果我调用“find_by_sql”,我无法嵌套更多条件。
Questions.find_by_sql(HUGE_SQL).by_filter(:popular).order('created_at').limit(5)
我的目标是:
- 在单独的文件中组织 sql
- 将这些字符串 sql 转换为 Arel 对象
- 将此 arel 对象与常见的可重用条件嵌套,例如“限制、订单、..”
谢谢