エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
はじめに Railsでスーパータイプ・サブタイプの表現する方法は以下のように3つ存在します。 単一テーブ... はじめに Railsでスーパータイプ・サブタイプの表現する方法は以下のように3つ存在します。 単一テーブル継承(STI) 具象クラス継承(CCI) クラステーブル継承(CTI) Railsの機能としてSTIがサポートされているため、何も考えずにSTIを選んでしまうことが多い(かつては自分もそうだった)ような気がしますが、 それぞれメリット・デメリットがあるため適切に使い分けるといいことがあります。 まずはそれぞれの簡単な説明をしていきましょう。 それぞれの説明 ここでは例として、次のようなケースをかんがえてみます。(ちょっと無理やりですけどつっこまないで…) Music というスーパータイプを持つ、 Classical と EDM という2つのサブタイプがあります。 Music は name 属性を持っています。これは当然2つのサブタイプ両方に必要な属性です。 また、Musicは抽象クラス