मेरे पास एक मॉडल PointOfContact
है जो has_many
Systems
है। Systems
पक्ष से मैं PointOfContact
को या तो technical_manager
या project_manager
(या दोनों) के रूप में पहचानना चाहता हूं। जबकि अभी भी डीबी में PointOfContact
1 बार रखना है।दो संबंधित_to संघों के लिए समान मॉडल
मेरे प्रयास इस प्रकार है:
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
अधिक जानकारी: [लिंक] पर संबंधों के माध्यम से (http://railscasts.com/episodes/163-self-referential-association?view=asciicast) – Zippie