我只需要查询用户ID已确认的Realties
。
我正在使用“devise”gem进行身份验证,我的查询如下所示:
@search = Realty.includes(:user).where("users.confirmed_at != ?", nil)
结果我得到=> []
,但Realties
有很多user.confirmed? => true
条记录。我在控制台上仔细检查了它。
关联结构如下所示:
class Realty
belongs_to :user
.....
class User
has_many :realties
.....
请帮帮我或告诉我哪里弄错了? 谢谢。
答案 0 :(得分:2)
@search = Realty.includes(:user).where("users.confirmed_at IS NOT NULL")
您不能在SQL语句中使用!=
。
如果您想检查该值是否也为空,那么您可以
@search = Realty.includes(:user).where("users.confirmed_at <> ''")
它会返回users.confirmed_at
既不是null
也不是empty
的结果。