Вот тривиальный наследование (STI) Настройка:ActiveRecord модели подклассы не отображаются
class Parent < ActiveRecord::Base
end
class Daughter < Parent
end
class Son < Parent
end
Быстрая попытка в консоли. Ожидая Parent.subclasses
, чтобы вернуть два подкласса, но ничего не получил!
ruby-1.9.2-p0 > Parent.subclasses
=> []
Кроме того, вызов
ruby-1.9.2-p0 > Daughter.subclasses
=> []
, что правильно не возвращает детей, делает Родитель начать признание дочери в качестве подкласса:
ruby-1.9.2-p0 > Parent.subclasses
=> [Daughter(id: integer, type: string, created_at: datetime, updated_at: datetime)]
То же работает для другого подкласса:
ruby-1.9.2-p0 > Son.subclasses
=> []
ruby-1.9.2-p0 > Parent.subclasses
=> [Daughter(id: integer, type: string, created_at: datetime, updated_at: datetime), Son(id: integer, type: string, created_at: datetime, updated_at: datetime)]
Это рельсы 3, но такое же поведение демонстрирует на 2.3.10