我在如何与Rails网站建立关联方面遇到了一些麻烦,这是我的第一个Rails项目,请耐心等待。如果您听不懂,请告诉我。
我的网站将是每周一次的'pickem nfl'网站,用户可以在其中输入多个池,而管理员将能够创建池,以便普通用户可以进入和玩耍。
如果您不知道什么,那么请阅读本节。 NFL每周Pickem基本上是一种游戏,您在其中选择自己认为每周会赢的nfl球队。第一周,假设有16场比赛,您每场比赛选择一支球队。您猜对的每场比赛都会获得1分,在本周末,猜测最多的用户将赢得本周的胜利。这种情况持续了整个季节,并且通常在该季节结束时,猜测最多的前10位用户会获得奖励...
现在我清除了这个问题,让我明白了
目前我的班级和协会是:
用户-常规信息,名称,电子邮件等。
getFormulation: function(FORMULATIONDATE) {
debugger;
FORMULATIONDATE = FORMULATIONDATE.slice(0, 10);
return (FORMULATIONDATE === "TimeUnavailable") ? null : FORMULATIONDATE;
}
游泳池-仅带有游泳池名称
Model: User
has_many :groups
has_many :pools, through: :groups
组-连接池和用户的模型
Model: Pool
has_many :groups
has_many :users, through: :groups
比赛-主队,客队,积分等。
团队-我存储团队名称并考虑存储其徽标
如您所见,我已经在用户和池之间建立了关联,因此一个用户可以在多个池中,而一个池可以有多个用户。
我的问题是:
我如何做到这一点,以便一个池可以有许多与其他池不同的比赛?这样一来,以后我就可以为nba创建池,为nfl,mlb等创建池。
如何做到这一点,以便一个用户可以选择一个认为会获胜的团队?请记住,该用户可以在多个池中,因此一个选择仅适用于特定池。
我当时想做这样的事情,尽管它不起作用:(
Model: Group
belongs_to :user
belongs_to :pool
答案 0 :(得分:0)
我认为您应该为这种关系画一个图,因为它很复杂,所以使它变得容易得多。
如果您的“用户”和“资源库”通过“组”关联,则您的“选择”模型可以使用该模型:
Model:Pick
belongs_to :match
belongs_to :group
belongs_to :round
date:datetime
您可以执行Pick.group.user
来获取用户,或执行Pick.group.pool
来获取池
按照我的建议,我还添加了一个模型回合,可以跟踪每周的回合。