我是rails的新手,我正在努力,我已经看过了这里的许多问题,我认为我的知识差距真的阻碍了我把两个和两个放在一起。
该网站是一个女子双打网球联赛的网站。
这是我到目前为止所做的,我认为我需要后退几步。
我使用rails生成脚手架创建了4个带有视图等的模型和控制器。
模型如下所示:
players:
firstname
lastname
timestamps
teams:
playerone
playertwo
timestamps
fixtures:
team1
team2
court
division
date
timestamps
results:
fixture
set1team1
set1team2
set2team1
set2team2
set3team1
set3team2
team1
team2
timestamps现在我想创建关联,这样球队就有两个球员(playerone,playertwo),每个装备有两个球队(team1,team2)。
然后,我希望结果模型中的fixture与fixtures模型中的记录相关联。
每个团队玩3组6场比赛,因此结果模型中的单独字段记录每组比赛中每个团队的结果,然后给团队一个最终得分。如果一支球队赢得了这一盘(第一到六场比赛),他们就会得到额外的6分。
这是我尝试过的关系。
class Team < ActiveRecord::Base
has_many :players
has_one :playerone, :class_name => "Player", :foreign_key => "player"
has_one :playertwo, :class_name => "Player", :foreign_key => "player"
end
class Player < ActiveRecord::Base
belongs_to :team
end
class Result < ActiveRecord::Base
has_one :fixture
end
class Fixture < ActiveRecord::Base
has_many :teams
end我似乎有rails中的视图和布局的诀窍,但我还没有领会到强大的一面。
我已经看过了很多教程,但这真的让我很沮丧,我希望有人能帮上忙。
提前谢谢。
亚当
发布于 2012-04-20 00:35:46
不需要尝试为playerone和playertwo定义关系。在team的编辑视图中,您将有两个选择,每个选择从球员列表中进行选择。
Fixture也是如此,在那里也不需要关系。事实上,我现在看不到任何与您的模型布局方式相关的需求,您只需要在编辑视图中创建各种选择,以从适当的模型中进行选择。
这样看,有两个“有”的关系,has_one或has_many,你处理它就像有一个“has_two”或“has_three”关系,没有这样的关系,这些事实已经在你的模型属性中硬编码了。
https://stackoverflow.com/questions/10232318
复制相似问题