0

バスケットボールリーグを管理するためのRoRアプリを作成しています。私は2つのテーブルを持っています:teamsgames。各チームが多くのゲームを持っているというその設定。の各行にgamesは2つの外部キーが含まれています。1つはホームチーム用、もう1つはアウェイチーム用です。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 %>

ただし、最初の2つの部分は機能しません。おそらく、オブジェクトの子を呼び出すときにフォーマットが使用されるためです。しかし、ここでは、子供の親(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

チームIDが空の場合、このエラーの原因が見つかりました。これは、createメソッドの問題を示唆しています。

于 2012-04-30T00:11:07.173 に答える