Ruby on rails Rails 3模型关系
我有点困惑于如何关联我的一些模型。希望得到一些建议或想法 假设我有3个模型,分别是“MinorTeam”、“MajorTeam”和“Game”。每场比赛参考两个队;但我如何确定它是一支主力还是主力Ruby on rails Rails 3模型关系,ruby-on-rails,relationship,rails-activerecord,Ruby On Rails,Relationship,Rails Activerecord,我有点困惑于如何关联我的一些模型。希望得到一些建议或想法 假设我有3个模型,分别是“MinorTeam”、“MajorTeam”和“Game”。每场比赛参考两个队;但我如何确定它是一支主力还是主力 has_one :team_1, :class_name => "MajorTeam" # or has_one :team_1, :class_name => "MinorTeam" 这两个团队模型本质上是不同的,所以我不能简单地向团队模型添加一个主要/次要标志。有什么想法吗?多态关
has_one :team_1, :class_name => "MajorTeam"
# or
has_one :team_1, :class_name => "MinorTeam"
这两个团队模型本质上是不同的,所以我不能简单地向团队模型添加一个主要/次要标志。有什么想法吗?多态关联应该有效。你可能需要稍微调整一下才能把事情做好,但是通过使用它们,团队课程除了游戏之外,不必有任何相似之处
module Team
extend ActiveSupport::Concern
included do
has_many :home_games, :class_name => "Game", :as => :team_1
has_many :away_games, :class_name => "Game", :as => :team_2
end
end
class MajorTeam < ActiveRecord::Base
include Team
end
class MinorTeam < ActiveRecord::Base
include Team
end
class Game < ActiveRecord::Base
belongs_to :team_1, :polymorphic => true
belongs_to :team_2, :polymorphic => true
end
模块团队
扩展ActiveSupport::关注点
包括做
有很多:主场比赛,:class\u name=>“Game”,:as=>:team\u 1
有很多:客场比赛,:class\u name=>“Game”,:as=>:team\u 2
结束
结束
类MajorTeamtrue
属于:团队2,:多态=>true
结束
我假设你的意思是你的有一个
是属于
,因为有一个
意味着每个队只属于一场比赛,这似乎是不正确的。如果我错了,请告诉我