Я полагаю, это зависит от того, где вы хотите, чтобы данные присоединения жили.
Если информация будет жить в службе учетных записей:
Я не думаю, что вы можете иметь ассоциации на не-ActiveRecord :: Base-subclass классы, если не считать их взлома из внутренних компонентов ActiveRecord (создав собственные подклассы HasManyAssociation, которые читают ваши сохраненные атрибуты.) Так что вам может быть немного не повезло.
Если вы хотите, чтобы информация содержалась в вашей обычной базе данных:
Я бы, вероятно, использовал модель AccountBridge, которая отображает Учетную запись в соответствующие таблицы и помещает связи там;также проксирование методов учетной записи для объекта учетной записи.Тогда у меня были бы объекты, которые номинально have_{one,many} :account(s)
тайно передавали бы через AccountBridge, и имели бы фактические внешние ключи отношений.