如何在Activerecord中减去两个日期?

时间:2015-10-04 20:40:26

标签: sql ruby-on-rails ruby date activerecord

我想要一份3天内会费的合同清单。因此,我正在编写一个查询,查找当前日期和存储在我的COntractDue数据库中的日期之间的差异。

这是我的代码:

   @contract_dues = ContractDue.where("status = 'Unpaid' 
      || status =  'Partially Paid'").
      where("(due_date - #{Date.today}) = 3").
      group(:contract_id).order(:due_date)

我知道这是错的,因为我没有得到我想要的结果。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以构建所需日期并与之进行比较,而不是减去差异:

.where(due_date: 3.days.from_now.to_date)