1

各プレーヤーのさまざまなスポーツ統計を保存できるスポーツ統計 Web ページを作成したいと考えています。プレーヤーは、さまざまなスポーツの統計情報を持つことができます。

私がこれを行うことを考えていた方法は、場所、日付、対戦相手など、スポーツに関係なく、すべての統計の基本的な属性を含む全体的な統計モデルを作成することです。このようにして、Statモデル - FootballStatBasketballStatなど。

すべてのスポーツの統計は非常に異なるため、単一テーブルの継承を使用すると非常に非効率的であることがわかります。したがって、他に 2 つのオプションしか見つかりませんでした。

  • 多形関連、および
  • 複数テーブルの継承。

この場合、どちらがより効果的だと思いますか? そして、それをどのように実装しますか?


これが私がやろうとしていることです、多分あなたは私を助けてくれます。ありがとうございました!

4

1 に答える 1

1

ポリモーフィック アソシエーションは確かに進むべき道です。次のように実装できます。

Class Stat 
  belongs_to :sportable, 
  belongs_to :player
end

Class Sport1
  has_many :stats, :as => :sportable
  # various attributes for sport1
end

Class Sport2
  has_many :stats, :as => :sportable
  # various attributes for sport2
end

Class Player
  has_many :stats
end
于 2012-11-21T05:33:34.647 に答える