Rails函数返回Nil但数据库条目可用

时间:2016-04-03 19:31:41

标签: ruby-on-rails ruby ruby-on-rails-4

我有这个功能:

def lessenActive
    Lesson.where("start_date < ? AND active = ?", DateTime.now,Nil).update_all(active: true)
end

它返回Nil ..但我无法理解为什么因为在数据库中有几个条目。

使用Rails 4.2

1 个答案:

答案 0 :(得分:2)

Lesson.where("start_date < ? AND active IS NULL", DateTime.now).update_all(active: true)

SQL要求您使用IS而不是=来检查NULL,您也可以使用"active IS ?", nil作为评论建议。