belongs_to
假设您有一个包含两个团队的游戏模型。
class Game < ActiveRecord::Base
belongs_to :home_team, class_name: "Team", foreign_key: "home_team_id"
belongs_to :away_team, class_name: "Team", foreign_key: "away_team_id"
end
一个团队可以使用 Team 类的这个方法找到它的游戏:
def games
Games.where("home_team_id = ? OR away_team_id = ?", self.id, self.id)
end
然后@team.games.upcoming
通过使用 Game 类的这个方法来使用:
def self.upcoming
where("starts > ?", DateTime.now)
end
范围合并在一起,它工作得很好。
现在我正在尝试编写一个允许我这样做的方法:
@team.games.won
可以通过以下方式检查
@team.games.where("home_team_id = ? AND home_score > away_score OR away_team_id = ? AND away_score > home_score", ?????, ?????)
但我不知道如何在 ????? 所在的位置传递正确的团队 ID。这甚至可能吗?如果以前有人问过,我不知道要搜索什么才能找到它。