У меня есть родительская модель Учетная запись с несколькими подклассами с использованием STI.Я хочу связать другую модель Транзакция , используя отношение принадлежащие к Аккаунт .Ссылочной учетной записью может быть либо Актив , либо Ответственность .
class Account < ActiveRecord::Base end
class Asset < Account end
class Liability < Account end
Моя модель транзакции принадлежит к Счет
class Transaction < ActiveRecord::Base
belongs_to :account #Either an Asset or Liability model
end
Я хочу иметь возможность установить для учетной записи транзакции Актив или Обязательство.Тем не менее, я получаю ошибку TypeMismatch, когда я устанавливаю учетную запись транзакции в качестве актива или пассива, так как это не родительский класс Account .
Примечание: я думаю, что это можно решить с помощью полиморфизма в ассоциации own_to, но, по-видимому, нет необходимости указывать класс в столбце типа, когда все модели, на которые ссылаются, используют одну и ту же базовую таблицу.