我对rails非常陌生而且我很挣扎我在这里看了很多问题,而且我认为我的知识差距真的让我把两个和两个放在一起。
该网站适用于女子双打网球联赛。
这是我到目前为止所做的,我想我需要退一步。
我使用rails generate scaffold来创建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)。
然后我希望结果模型中的灯具与灯具模型中的记录相关联。
团队进行3组6场比赛,因此结果模型中的单独字段用于记录每组游戏中每个团队的结果,然后给团队最终得分。如果一支球队赢得比赛(首先是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
我似乎在轨道中拥有视图和布局的诀窍,但我还没有完全掌握强大的一面。
我一直在查看许多教程,但这让我非常沮丧,我希望有人可以提供帮助。
提前致谢。
亚当
答案 0 :(得分:0)
没有必要尝试为playerone和playertwo定义关系。在团队的编辑视图中,您将有两个选择,每个选择从玩家列表中选择。
与Fixture相同,也不需要那里的关系。事实上,我现在看不出任何与你的模型分层的关系,你只需要在编辑视图中创建各种选择,从适当的模型中选择。
以这种方式看待它,有两个'has'关系,has_one或has_many,你接近它就像有'has_two'或'has_three'的关系,没有这样的关系,那些事实已经硬编码在你的模型属性。