私はRailsを学んでおり、これを正しい方法で行おうとしていますが、解決策を見つけるのに非常に苦労しました.
ランキング モデルにスポーツ ランキングの長いリストがあり、フィルターとそれに適用される一般的なビジネス ロジック (つまり、日付範囲、スポーツなど) に基づいて操作しようとしています。
ランキングモデル
t.string "rank"
t.integer "team_id"
t.integer "sport_id"
t.integer "source_id"
チームモデル
t.string "team"
t.integer "sport_id"
スポーツモデル
t.string "sport"
たとえば、私がやりたいことの 1 つは、長年にわたる各チームのランクの平均を見つけることです。これを行う1つの方法は次のようになることは知っていますRanking.average(:rank, :group => 'team_id')
が、それはあまりDRYではないようです。
私が思いついたもう 1 つのアイデアは、計算を適用してデータを簡単に操作できるようにするために、配列、ハッシュ、json、または一時テーブル (おそらく良いアイデアではない) を作成することでした。
繰り返しますが、私はまだ少し緑なので、簡単な解決策を見逃しているかもしれませんが、これのベストプラクティスは何ですか?