我正在创建一个用于管理篮球联赛的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
答案 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方法存在问题。