Rails 6.1で導入されたDelegated Typesは、STIの課題を解決する強力な機能ですが、単なるpolymorphic関連の改良版以上の価値があります。
本セッションでは、Delegated Typesを実際のプロダクトで効果的に活用するための
3つの重要なポイントを解説します:
2つの文脈を理解する - Polymorphic関連の改良とCTI(Class Table Inheritance)を移譲で実現したパターンであることを理解し、適切な設計判断を行う
includeよりWrap - モジュールのincludeではなくPOROを使ったラッパーパターンで、Fat Modelを避け依存関係を安定させる
抽象化を貫く - 親クラスやViewに実装詳細を漏らさず、統一されたインターフェースを維持する
個人・法人顧客を扱う営業支援システムを例に、STI・CTI・Delegated Typesの比較から実装のベストプラクティスまで、実践的な内容をお届けします。