スターターとレースの 2 つのモデルがあります。
Starter belongs_to :race
Race has_many :starters
スターターとレースの属性は次のとおりです。
Starter attributes: id, race_id, finish_position, odds
Race: id, race_date, race_number, field_size
私は2つのことを達成しようとしています:
- 各レースで お気に入りを選択します。#特定のレースで、オッズが最も低いスターター*
- 打ち負かされたお気に入りを選択します *#finish_position > 1 を持つお気に入り*
お気に入りと打ち負かされたお気に入りを決定するロジックは非常に単純ですが (上記を参照)、ロジックをアクティブレコードに変換するのに苦労しています。これは、アクティブレコードスコープを利用できる例です。
これが私のお気に入りの試みです:
Starter.joins(:race).where(:finish_position => minimum(finish_position))
これは機能していませんが、私はまだ取り組んでいます。
理想は、お気に入りのスコープと打たれたスコープを持つことでしょう。