在ActiveRecord中,如何检查对象属性是否为零?

时间:2011-02-16 18:08:04

标签: ruby-on-rails ruby ruby-on-rails-3

假设我需要检查某个属性是否未设置。

我想象这样的东西,但它不起作用。

@users = User.find_all_by_role(["role = ?",nil])

我尝试了其他一些没有运气的变种。

我想这应该非常简单。

谢谢!

3 个答案:

答案 0 :(得分:1)

使用ActiveRecord的3.0之前的语法:

@users = User.find(:all, :conditions => { :role => nil })

3.0之后你可以写:

@users = User.where(:role => nil)

答案 1 :(得分:0)

尝试:@users = User.find(:all, :conditions=>'role is null')

答案 2 :(得分:0)

@users = User.where(:roles => nil).all

没有必要为此闯入SQL。