【发布时间】:2018-08-27 04:02:54
【问题描述】:
我一直在研究 Arel(主要是因为它在 ransack gem 中用于高级搜索)。我看过一些指南,但我不太明白它是如何工作的。
有例如
users = Arel::Table.new(:users)
users.where(users[:name].eq('amy'))
# => SELECT * FROM users WHERE users.name = 'amy'
这将产生一个 SQL 查询,但不执行它。 我怎样才能使用结果? Arel 应该如何编写&where(模型、视图、控制器?)
我知道它可能看起来有点宽泛,但我想看看在哪里/如何使用 arel 在我的表格中搜索。
【问题讨论】:
-
"这将产生一个 SQL 查询,但不会执行它" 如果您要在变量中捕获结果,例如
users_named_amy = users.where(users[:name].eq('amy'))那么您可以像处理任何其他 AR 查询一样对生成的User对象进行操作吗?
标签: ruby-on-rails ruby activerecord arel