Принадлежит слишком много столбцов ID - PullRequest
0 голосов
/ 30 апреля 2011

Я пытаюсь создать таблицу соответствий.Эта таблица соответствий будет искать информацию из таблицы команд.У меня возникли проблемы с установлением ассоциации.

class Match < ActiveRecord::Base  
#    
end

class Team < ActiveRecord::Base 

 belongs_to :matches, :class_name => "Match", :foreign_key => "hometeam_id"    
 belongs_to :matches, :class_name => "Match", :foreign_key => "awayteam_id"   

end 

В моей таблице соответствий

# id
# hometeam_id
# awayteam_id
# …

В таблице моей команды

# id
# name
# …

Я хочу иметь возможность сделать следующее

game = Match.find(:first)
# <Match id: 1, hometeam_id: 64810937, awayteam_id: 78380562,
game.hometeam 
# returns "Toronto"

Я не слишком уверен, является ли мой принадлежащий_то правильным способом сделать это.Я чувствую, что повторяюсь, и они могут быть лучшим подходом.Мысли?

ОБНОВЛЕНИЕ ОБНОВЛЕНО

class Match < ActiveRecord::Base

belongs_to :hometeam, :class_name => "Team"
belongs_to :awayteam, :class_name => "Team"

end


class Team < ActiveRecord::Base

  has_many :homegames, :class_name => "Match", :foreign_key => "hometeam_id"
  has_many :awaygames, :class_name => "Match", :foreign_key => "awayteam_id"

end

Оставьте это для тех, кто сталкивается с подобными проблемами.

1 Ответ

2 голосов
/ 30 апреля 2011

Попробуйте это:

class Team < ActiveRecord::Base 

 belongs_to :hometeam, :class_name => "Match", :foreign_key => "hometeam_id"    
 belongs_to :awayteam, :class_name => "Match", :foreign_key => "awayteam_id"   

end 
...