私は、ゲームを追跡するための Ruby Web アプリである DataMapper との単純な関係に取り組んでいます。ゲームは 4 人のプレーヤーに属し、各プレーヤーは多くのゲームを持つことができます。player.games.size を呼び出すと、ゲームが関連付けられていることがわかっているプレイヤーに対して、0 という結果が返されるようです。現在、プレーヤーの関連付けをゲームから引き出すことができますが、player.games が空である理由がわかりません。has n アソシエーションで parent_key を定義する必要がありますか、それとも何か不足していますか?
class Game
belongs_to :t1_p1, :class_name => 'Player', :child_key => [:player1_id]
belongs_to :t1_p2, :class_name => 'Player', :child_key => [:player2_id]
belongs_to :t2_p1, :class_name => 'Player', :child_key => [:player3_id]
belongs_to :t2_p2, :class_name => 'Player', :child_key => [:player4_id]
...
end
class Player
has n, :games
...
end