排除积极关系中的条件,如何?

Har*_*tor 2 ruby activerecord ruby-on-rails active-relation ruby-on-rails-3

我正在寻找一种方法来做相反的事情:

Model.where(:name => 'julian')
Run Code Online (Sandbox Code Playgroud)

就像是 :

Model.where(:name => is_not('julian'))
Run Code Online (Sandbox Code Playgroud)

我找到了这篇文章.但是,find(:all, :conditions => {})现在已经在rails 3中弃用了,而且我认为必须有一种更清洁的方法.

有什么建议吗?

aNo*_*ble 9

简单的答案是:

Model.where('models.name != ?', 'julian')
Run Code Online (Sandbox Code Playgroud)

除非,您想要构建实际的Arel条件,在这种情况下,您将执行以下操作:

Model.where(Model.arel_table[:name].not_eq('julian'))
Run Code Online (Sandbox Code Playgroud)