0

我正在创建一个 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
4

1 回答 1

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

如果 team id 为空,我们已经找到了这个错误的来源。这暗示了您的 create 方法中的问题。

于 2012-04-30T00:11:07.173 回答