0

Tasksフィールドcompleted:booleanとを持つモデルがありますcompleted_date:datetime

タスクが完了した場合、完了としてマークされた日付が表示されます。それ以外のcompleted_date場合は false になります。

すべてのタスクを検索するクエリを作成しようとしていますがcompleted = falsecompleted_date less than 2 days ago OR完了 = trueand完了_日付 = 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)

エラーは発生しないはずです(関連付けに問題がない限り)

andは必要completed_dateありませんcompletedcompleted_date両方のチェックにのみ使用できます(completed_dateないnullという意味completedではありませんtrue

于 2013-04-29T13:24:21.193 に答える