ruby-on-rails – Arel`之间`与其他列作为范围

似乎Arel的Between谓词只能用于范围,例如

between(1.day.ago.time..Time.current)

有没有人知道将其与其他列一起使用的方法?喜欢

between(table[:since]..table[:till]) 

(最后一个不起作用,但它显示了一个想法).
最后我想要

column BETWEEN table.since AND table.till

最佳答案 要生成table.field BETWEEN another_table.from AND another_table.to使用此arel代码:

Arel::Nodes::Between.new(
  table[:field],
  Arel::Nodes::And.new(
    [
      another_table[:from],
      another_table[:to]
    ]
  )
)

在我的例子中,我将此代码放入.and()arel方法中.

点赞