ユーザーモデルには2つのスコープがあります。
scope :hard_deactivated, where(:hard_deactivated => true)
scope :soft_deactivated, where(:soft_deactivated => true)
ここまでは順調ですね
また
スコープ:deactivateを作成したいのですが、これには、hard_deactivateがtrueであるか、softdeactivateがtrueであるすべてのユーザーが含まれます。明らかに、私はこれを行うことができます:
scope :deactivated, where("hard_deactivated = ? or soft_deactivated = ?", true, true)
しかし、これはあまり乾燥しているとは感じません。
いいえ
また、逆スコープ:not_hard_deactivateを作成したいと思います。私はこれを行うことができます:
scope :not_hard_deactivated, where(:hard_deactivated => false)
しかし、繰り返しになりますが、特に私のスコープがより複雑になると、これは気分が悪くなります。not句の前のスコープによって生成されたSQLに何らかの方法またはワープがあるはずです。