我有一个Team
对象和一个Game
对象。
Game
应该有一个获胜者Team
Team
可以成为多个Games
如何正确构建?我正在使用Mongoid
这是我到目前为止所提出的......
class Game
include Mongoid::Document
include Mongoid::Timestamps
has_one :winner, :class_name=>Team
end
class Team
include Mongoid::Document
include Mongoid::Timestamps
has_and_belongs_to_many :games_won, :class_name=>"Game", :inverse_of => :Game
end
答案 0 :(得分:2)
考虑将胜利抽象到自己的类中,以便:
class Game
has_one :win
end
class Team
has_many :wins
end
class Win
belongs_to :game
belongs_to :team
end
这使得结构更具逻辑性,使代码更简单,并且在您可能因为其他原因而希望开始使用wins作为单独资源的情况下具有其他优势。