Я хотел бы иметь возможность вызывать метод build
в области, которая нацелена на определенный класс модели через его тип STI, и заставить ActiveRecord построить экземпляр правильного класса.
class LineItem < ActiveRecord::Base
scope :discount, where(type: 'DiscountLineItem')
end
class DiscountLineItem < LineItem; end
> LineItem.discount.build # Expect an instance of DiscountLineItem here
=> #<LineItem ...>
Здесь я ожидал экземпляр DiscountLineItem
, а не экземпляр LineItem
.