将3个foreign_keys加入rails has_many关系

时间:2014-07-03 19:50:12

标签: ruby-on-rails rails-activerecord redmine

在我的申请中,我有3个表:责任,知识和水平。

需要通过具有以下字段的关联表:

-> Responsability_id 
-> Knowledge_id 
-> Level_id 

并且我认为我在责任记录中创建了这个位置实例,对他们的知识有一定的了解和知识水平。

知识将显示在复选框中,并在每个选项前面显示 选择级别。

知道如何建立这种关联吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

class Level
  has_many :knowledges
  has_many :responsibilities, through: :knowledges
end

class Knowledge
  has_many :responsibilities
  belongs_to :level
end

class Responsibility
  belongs_to :knowledge
  delegate :level, to: :knowledge
end

请参阅:http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association