>>23
個人的には polymorphic associationが好み。

あまり美しくないが、一応選択肢として:
Rails的にはSTI(Single Table Inheritance)がお手軽。