这是我当前的表格设置:
葡萄酒
ID ...等。等
奖
id,wine_id,competition_id,medal_id,date,link
比赛
id,name
枚
id,输入
奖励> belongs_to:wine
葡萄酒> has_many:awards,:autosave => true,:dependent => :破坏
这一切都很好,但我希望能够为每个奖项的竞赛和奖章引用“名称”和“类型”列。目前我只能看到'competition_id'和'medal_id'......我希望能够说'@ wine.awards [0] .medal',这将导致“金牌”......甚至'medal_type'对于这个问题。我如何在我的模型中设置该关联?
答案 0 :(得分:1)
如果我理解得很好,请使用这种关系:
Award > belongs_to :medal
所以你可以说@ wind.awards [0] .medal.type并且结果是“Gold”。必须定义每个关系,因此您还必须添加
Award > belongs_to :competition
所以你可以去@ wine.awards [0] .competition.name
而且向后关系也很重要。
Competition > has_many :awards
Medals > has_many :awards