こんにちは、アジャイル事業部 9sako6 です。 私のいるプロジェクトで大きなエンハンスが行われ、その中で Polymorphic Association(ポリモーフィック関連) を使う場面がありました。 ポリモーフィック関連を選択した理由や行った作業、注意点について話します。 架空のサービスを例に説明を行います。 サービス概要 私たちが運営するサービスでは、Magician(魔法使い)と、その魔法使いが扱える Magic(魔法)を調べることができます。 この世界の Magic(魔法)に同一のものはなく、 ユニークです。Magic(魔法)はMagician(魔法使い)に属しています。 class Magic < ApplicationRecord belongs_to :magician end class Magician < ApplicationRecord has_many :m