背景:ユーザーは has_many :through 関連付けを介して多くのコミュニティを持っています。
目的:ユーザーが特定のお気に入りの「コミュニティ グループ」を保存できるようにしたいと考えています。たとえば、ユーザー A がコミュニティ A、コミュニティ B、およびコミュニティ C を持っている場合、(コミュニティ Aとコミュニティ C) のコミュニティ グループを特に気に入ったものとして指定することができます。サブグループは、任意の数のコミュニティ (2 つ以上) で構成することができます。
データベース側でこれにどのようにアプローチするのが最善でしょうか?