Rails数据库关联问题

时间:2011-03-06 21:29:31

标签: ruby-on-rails ruby model associations

这是我当前的表格设置:

葡萄酒
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'对于这个问题。我如何在我的模型中设置该关联?

1 个答案:

答案 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