Rails 与多个自定义字段名称关联?

Rails association with multiple custom field names?

我有 MembersSkills tables.

每个成员记录都有 3 个技能链接:skill_primaryskill_secondaryskill_tertiary

这些列中的每一列都只是一个 ID,对应于技能 table 中的一行。

我想做的是参考成员的技能并从窗台上获取该记录table。

因此:member.skill_primary 将 return 实际技能记录。

我应该建立什么类型的协会来实现这一目标?

为此,您需要声明 3 个 belongs_to 关联并使用 :class_name:foreign_key 选项。

class Member < ActiveRecord::Base
  belongs_to :skill_primary, class_name: 'Skill', foreign_key: :skill_primary
  belongs_to :skill_secondary, class_name: 'Skill', foreign_key: :skill_secondary
  belongs_to :skill_tertiary, class_name: 'Skill', foreign_key: :skill_tertiary
end

有关这些选项的文档,请参阅 Rails Active Record 关联指南的第 4.1.2 节:http://guides.rubyonrails.org/association_basics.html#belongs-to-association-reference