0

성냥 테이블을 만들려고합니다. 이 일치하는 테이블은 팀 테이블에서 정보를 얻습니다. 협회가 일하는 데 어려움을 겪고 있습니다.Belongs_to too many columns ID

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" 

내 belongs_to가 올바른 방법인지 확실하지 않습니다. 나는 나 자신을 반복하고있는 것처럼 느껴진다. 생각?

UPDATE는 비슷한 문제로 실행되는 다른 사람이를 떠나

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 

를 해결했다.

답변

2

이 시도 :

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 
+0

그것을 시도. 오류가 아닙니다. – alenm