8
현재 두 모델이 있습니다 : User
및 Project
입니다. User
모델에는 소유자, 계약자 및 클라이언트의 세 가지 유형의 사용자가 있습니다. 하나의 프로젝트에 여러 계약자를 지정하고 싶습니다. 그래서처럼 has_many :through
협회에 이것을 시도하고있다 :레일 has_many : 연결 테이블에 다른 열 이름이있는
Class User
has_many :assignments
has_many :projects, :through => :assignments
Class Project
has_many :assignments
has_many :contractors, :through => :assignments
Class Assignment
belongs_to :user
belongs_to :project
내 문제는 assignments
테이블에 contractor_id
를 사용하는 대신 user_id
입니다.
내 assignments
테이블에는 현재 contractor_id
및 project_id
열이 있습니다. 대신에 user_id
을 사용하면 모든 것이 작동하는 것처럼 보일 수 있지만 나중에 내보기에서 일이 꽤 지저분해질 수 있습니다.
어떻게하면됩니까?
이 확실히, 하나 개의 방식으로 작동이 지금은 단지 인식하는 사용자 모델을하는 데 필요한'대신 user_id''의 contractor_id' 때 '@ user.projects'를 호출하십시오 –
. 필요한 사용자 모델 : foreign_key => : has_many에 대한 contractor_id : 할당 –