Скажем, у меня есть наследование одной таблицы с BuyerInvoice
наследованием от Invoice
.
Если я назначу такой счет-фактуру ассоциации c polymorphi, Rails будет хранить, например, record_type: "Invoice"
вместо record_type: "BuyerInvoice"
. В ней хранится record.class.base_class.name
.
По каким причинам они могли это сделать? Я внедряю что-то неопределенно похожее и хотел бы понять, почему Rails мог принять это решение.
Лучшее, о чем я могу подумать, это то, что это немного облегчает переименование подклассов, не затрагивая ассоциации, хотя, делая это, иначе можно было бы переименовать абстрактные суперклассы ...