获取has_many关系中的孩子的父母?

时间:2012-04-30 00:01:30

标签: ruby-on-rails

我正在创建一个用于管理篮球联赛的RoR应用程序。我有两张桌子:teams& games。它的设置是每个团队都有很多游戏。 games中的每一行都包含两个外键;一个用于主队,另一个用于客队。我有以下代码列出games表中的数据:

<% @games.each do |game| %>
  <tr>
    <td><%= game.home_team_id %></td>
    <td><%= game.away_team_id %></td>
    <td><%= game.home_team_score %></td>
    <td><%= game.away_team_score %></td>
    <td><%= game.date %></td>
  </tr>
<% end %>

然而,前两部分不起作用,大概是因为在调用对象子时使用了格式。但在这里,我试图打电话给孩子的父母(game.home_team_id)

你如何得到孩子的父母?

这是我的游戏模型:

class Game < ActiveRecord::Base
  belongs_to :team, :foreign_key => "home_team"
  belongs_to :team, :foreign_key => "away_team"
  has_many :stats

end

1 个答案:

答案 0 :(得分:3)

如果列名是您在视图中指定的名称,则应该看到ID。

通常,在你的游戏模型中你会做

belongs_to :home_team, :class_name=>"Team"
belongs_to :away_team, :class_name=>"Team"

然后在你看来,你会做

<td><%= game.home_team.name %></td>
<td><%= game.away_team.name %></td>

如果您没有看到ID,我会检查是否正在设置值。

在控制台中,只需执行:

Game.first.inspect

如果团队ID为空,我们已找到此错误的来源。这提示您的create方法存在问题。