モデルがあるとしましょう: User と Item およびそれらの間の多対多の関係。定義された属性を持つ正確に (それ以上) アイテムを持っていないユーザー、つまり、色 = ['red', 'black'] のアイテムを持っているユーザーを取得する方法。
もちろん、私はこのようなことをすることができます:
User.all :joins => [:items, :items], :conditions => {:"items.color" => "red", :"items_users.color" => 'black'}
しかし、より多くの属性については、かなり面倒です。私もできる:
User.all(:conditions => ["items.color in (?), ['red', 'black']], :include => :items)
しかし、これは、色 = ['red', 'black', 'blue', 'etc'] を持つアイテムを持つユーザーも返します
だから、唯一の解決策は、すべてを取得し、ルビ構文でソートすることですか? 1 つの SQL クエリまたは Rails AR 構文でそれを行う方法は?