我有两个模型 Starter 和 Race。
Starter belongs_to :race
Race has_many :starters
Starter 和 Race 的属性如下:
Starter attributes: id, race_id, finish_position, odds
Race: id, race_date, race_number, field_size
我正在尝试完成两件事:
- 在每场比赛中 选择最喜欢的。#对于特定比赛,赔率最低的首发*
- 选择任何击败的最爱 *#a 具有finish_position > 1* 的最爱
确定收藏夹和击败收藏夹的逻辑非常简单(见上文),但我很难将逻辑转换为 activerecord 也是可以使用 activerecord 范围的示例。
这是我最喜欢的尝试:
Starter.joins(:race).where(:finish_position => minimum(finish_position))
这不起作用,但我仍在努力。
我想理想的情况是拥有一个最喜欢的范围和一个被打败的范围。