36
여기 has_many
Systems
인 모델 PointOfContact
가 있습니다. Systems
쪽에서 PointOfContact
을 technical_manager
또는 project_manager
(또는 둘 다)으로 식별하고 싶습니다. DB에 항상 PointOfContact
만 보관하는 동안.두 모델의 모델은 해당 소유자 계열의 모델입니다.
내 시도는 다음과 : 내 사양 (예는 다음)를 실행하면
class System < ActiveRecord::Base
belongs_to :project_manager, :class_name => 'PointOfContact'
belongs_to :technical_manager, :class_name => 'PointOfContact'
end
class PointOfContact < ActiveRecord::Base
has_many :systems
end
내가 제대로 접촉 협회의 System
지점을 만들 수 있습니다. 그러나 PointOfContact
은 시스템과의 연관을 인식하지 못합니다. 왜 그런가요?
@sys = System.create
@tm = PointOfContact.create
@pm = PointOfContact.create
@sys.project_manager = @pm
@sys.technical_manager = @tm
@pm.systems.should have(1).items #> expected 1 items, got 0
자세한 내용은 다음을 참조하십시오. [link] (http://railscasts.com/episodes/163-self-referential-association?view=asciicast) – Zippie