Having 3 models using STI:
class Low < Medium; end
class Medium < High; end
class High < ActiveRecord::Base; end
If I run Medium.all, the SQL ActiveRecord outputs looks for records on the highs table with type='Medium', and as such doesn't find any records for 'Low' objects.
Afterwards, If I try High.all and then Medium.all, then it successfully looks for records with type='Medium' or type='Low'.
This is documented. Nothing we can do here, you need to require all models.
@josevalim where is this documented? I can't seem to find it.