On Rails 3.1 RC6, datoActiveRecord STI: Come posso uscire dalla classe genitore default portata
class Animal < ActiveRecord::Base
default_scope where(legs: 4)
end
La seguente non funziona come previsto:
class Man < Animal
default_scope unscoped.where(legs: 2)
end
L'istruzione SQL risultante assomiglia a questo:
SELECT * FROM animals WHERE legs = 4 AND legs = 2
Come è possibile sovrascrivere interamente l'ambito predefinito della classe padre?
Ho anche provato i seguenti nessuno dei quali lavoro:
default_scope{ unscoped.where legs: 2 }
default_scope with_exclusive_scope{ legs: 2 }
Sembra che questo funziona in Rails 3.0: self.default_scoping = [] – jemminger