Rails 与多个自定义字段名称关联?
Rails association with multiple custom field names?
我有 Members
和 Skills
tables.
每个成员记录都有 3 个技能链接:skill_primary
、skill_secondary
和 skill_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
我有 Members
和 Skills
tables.
每个成员记录都有 3 个技能链接:skill_primary
、skill_secondary
和 skill_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