Учитывая, что вам нужно реализовать новостную ленту, подобную той, которую видели в социальных сетях, например, на Facebook.В настоящее время я использую класс News, который имеет полиморфную ассоциацию, которая может быть любого вида, например, Image, Comment, Friendship, GroupMembership и т. Д. Всякий раз, когда создается объект, также создаются новости.Он отлично работает с AR (ActiveRecords), но у меня возникают проблемы, когда я переключаюсь на DM (DataMapper) или Sequel, так как оба они не поддерживают полиморфные ассоциации и не препятствуют его использованию.
Одним из обходных путей может стать использование большого предложения SQL с множеством UNION для объединения всех различных таблиц, которые следует рассматривать как новости.Но это имеет некоторые недостатки, особенно производительность будет ужасной.
Так что мне интересно, как решить проблему без полиморфных ассоциаций, сохраняя при этом хорошую производительность и без других недостатков, таких как возможность добавления метаданных в новости?