2

私は次の反対を行う方法を探しています:

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

何かのようなもの :

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

この投稿を見つけました。しかし、find(:all, :conditions => {})現在はRails 3で非推奨になっており、さらに、これを行うためのよりクリーンな方法が存在する必要があると思います。

なにか提案を ?

4

2 に答える 2

9

簡単な答えは次のとおりです。

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

ただし、実際のArel条件の構築に取り掛かる場合は、次のようにします。

Model.where(Model.arel_table[:name].not_eq('julian'))
于 2011-05-25T09:21:48.043 に答える
0

また、meta_where gemを使用することもできます:https ://github.com/ernie/meta_where

于 2011-05-25T09:26:12.190 に答える