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

时间:2011-05-25 09:16:10

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord active-relation

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

Model.where(:name => 'julian')

类似的东西:

Model.where(:name => is_not('julian'))

我找到了post。但是,find(:all, :conditions => {})现在已在rails 3中弃用,此外,我认为必须采用更简洁的方法。

有什么建议吗?

2 个答案:

答案 0 :(得分:9)

简单的答案是:

Model.where('models.name != ?', 'julian')

除非你想建立实际的Arel条件,否则你会做类似的事情:

Model.where(Model.arel_table[:name].not_eq('julian'))

答案 1 :(得分:0)

此外,您可以使用meta_where gem:https://github.com/ernie/meta_where