2013-10-11 1 views
9

은 내가 DB 레이아웃과 같이 있습니다기본 키가 있습니까?

Users 
-------------- 
id, name, etc... 

Lead 
-------------- 
id, initials, etc.. 

기본적으로 사용자가 많은 도선이 있습니다. initials 필드는 users 테이블의 name 필드에 매핑됩니다. 하지 않는 것

belongs_to :user, :foreign_key => 'name', 
        :primary_key => 'initials' 

작동하려면 : 그것을 belongs_to를 사용하여 다른 방법을 수행하는 방법

has_many :leads, :foreign_key => 'initials', 
       :primary_key => 'name' 

하지만 알아낼 수 없습니다 : 나는 완벽하게 작동하는 사용자 설정을위한 관계가 .

아이디어가 있으십니까?

답변

22

옵션 has_many :leads 공동으로 동일해야합니다 :

belongs_to :user, foreign_key: :initials, primary_key: :name 
+0

브릴리언트! 감사합니다. – andy

+0

레일스 버전이 intorduced되었습니다? – czerasz

+1

@czerasz 정확하게 모르겠지만 매우 오래된 기능입니다. 이미 레일즈 2.x에 이미 설치되어 있다고 확신합니다. –

관련 문제