我正在使用devise_invitable。
我正在尝试找到invitation_token != nil
我认为User.where(:invitation_token != nil)
会做..但它会返回所有用户..
当我做的时候
pry(main)> User.where(:invitation_token != nil)[0].invitation_token
User Load (1.0ms) SELECT "users".* FROM "users" WHERE ('t')
=> nil
所以我不明白这里发生了什么..如何在测试失误的地方找到模型?
答案 0 :(得分:2)
你应该这样做:
User.where('invitation_token IS NOT NULL')
您的解决方案不起作用,因为:invitation_token != nil
会评估为true
,所以您实际做的是:
User.where(true)
答案 1 :(得分:1)
根据您的导轨版本,这更漂亮:
User.where.not(invitation_token: nil)
答案 2 :(得分:-1)
也许你可以这样做:
User.where(:invitation_token => nil)
User.where("invitation_token IS NULL")
它继续......