2017-12-28 1 views
1

나는 MembersSkills 테이블을 가지고 있습니다.여러 개의 사용자 정의 필드 이름과 레일 연관?

각 회원 기록에는 기술에 대한 링크가 3 개 있습니다 (skill_primary, skill_secondaryskill_tertiary).

각 열은 스킬 테이블의 행에 해당하는 ID입니다.

내가 할 수 있기를 원하는 것은 회원이 스킬을 참조하고 창문 테이블에서 해당 레코드를 가져 오는 것입니다.

그래서 : member.skill_primary은 실제 기술 레코드를 반환합니다.

어떤 유형의 연결을 설정해야합니까?

답변

1

이렇게하려면 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 

, 액티브 레코드 협회의 레일 가이드의 섹션 4.1.2 참조 : http://guides.rubyonrails.org/association_basics.html#belongs-to-association-reference

관련 문제