0

我有一个模型Tasks,其中包含字段completed:booleancompleted_date:datetime.

如果任务已完成,它将具有标记为已完成的日期,否则completed_date将是错误的。

我正在尝试编写一个查询来查找所有任务,其中completed = falsecompleted_date less than 2 days ago OR完成 = true andcompleted_date = nil`

current_user.account.tasks.where("(completed = ? AND completed_date = ?) OR (completed = ? AND completed_date > ?)", false, nil, true, Time.now - 2.days)像这样的东西在我的控制器中不起作用。

4

1 回答 1

1

你可以写同样的东西

current_user.account.tasks.where("completed_date is NULL OR completed_date > ?", 2.days.ago)

并且不应该有任何错误(除非您的关联有问题)

你不应该需要completed_dateand completed。您可以仅completed_date用于两项检查(completed_datenull意味着completedtrue

于 2013-04-29T13:24:21.193 回答