Ruby on rails Rails中的关联帮助

Ruby on rails Rails中的关联帮助,ruby-on-rails,associations,Ruby On Rails,Associations,让我描述一下我想做什么: 有一个比赛模型,应该有关于哪些球员和哪些部族参加比赛的信息,包括主场球员和部族以及客场球员和部族的划分。 这很容易,但还有另一种模式:召唤者。在每场比赛中,每个球员都有不同的召唤师,我需要这样做:match.find(1).players\u home.find(1).caller.name提取哪个召唤师在主队中扮演了球员1。 要点是:每场比赛中的每个玩家都可以使用不同的召唤师。 我希望我描述得很清楚。 问候。我不太确定您所有关于何时关联为一个或多个的规范,但我认为可能


让我描述一下我想做什么:
有一个比赛模型,应该有关于哪些球员和哪些部族参加比赛的信息,包括主场球员和部族以及客场球员和部族的划分。
这很容易,但还有另一种模式:召唤者。在每场比赛中,每个球员都有不同的召唤师,我需要这样做:
match.find(1).players\u home.find(1).caller.name
提取哪个召唤师在主队中扮演了球员1。
要点是:每场比赛中的每个玩家都可以使用不同的召唤师。
我希望我描述得很清楚。

问候。

我不太确定您所有关于何时关联为一个或多个的规范,但我认为可能是这样的:

class Match
  has_many :participations
  has_many :players, :through => :participations
end

class Participation
  belongs_to :match
  belongs_to :player
  belongs_to :summoner

  # also a team attribute to store either "home" or "away"
  scope :home, where(:team => "home")
  scope :away, where(:team => "away")
end

class Player
  belongs_to :clan
  has_many :participations
  has_many :matches, :through => :participations
end

class Summoner
  has_many :participations
end
在此设置中,每场比赛都有多个参与者。每个参赛者都属于参赛者,也属于该玩家和比赛的召唤者。然后可以这样利用它:

内部控制器

@match = Match.find(1)
@home_participations = @match.participations.home
@away_participations = @match.participations.away
鉴于

<h1>Home Players</h1>
<% @home_participations.each do |p| %>
  <p>Player: <%= p.player.name %>, Summoned by: <%= p.summoner.name %></p>
<% end %>
主场球员
玩家:,召集人:


我希望这至少是你想要的。如果您正在寻找其他产品,请告诉我。

那么问题是什么?你有一些代码给我们看吗?问题是如何建立关联和模型。