Rails Arel 查询,获取现在之前一定持续时间的列

Rails Arel query, get columns a certain duration before now

我有一个 SQL 查询,我正在尝试使用 Arel 构建该查询以尝试检查时间戳是否在特定时间之前,如下所示:

SELECT * FROM some_table WHERE updated_at < NOW() - some_table.some_durations;

具体来说,我不确定如何将 NOW() 插入到 Arel 的查询中,或者指定时间戳应该是过去的某个持续时间。这是我能得到的最接近的结果,但显然是错误的:

t = SomeTable.arel_table
t.project(Arel.star).where(t[:created_at].lt(t[:some_durations]))

您应该尝试以下操作:

t.project(Arel.star).where(t[:created_at].lt(Arel.sql('NOW() - some_tables.some_durations')))