on Rails 3.1 RC6, zważywszyActiveRecord STI: Jak mogę wyjść z klasy nadrzędnej default zakres
class Animal < ActiveRecord::Base
default_scope where(legs: 4)
end
Poniższa nie działa zgodnie z oczekiwaniami:
class Man < Animal
default_scope unscoped.where(legs: 2)
end
Powstały SQL wygląda tak:
SELECT * FROM animals WHERE legs = 4 AND legs = 2
Jak całkowicie zmienić domyślny zakres klasy macierzystej?
Próbowałem również następne z których żadna praca:
default_scope{ unscoped.where legs: 2 }
default_scope with_exclusive_scope{ legs: 2 }
Wydaje się, że to działa w Rails 3.0: self.default_scoping = [] – jemminger