यह प्रश्न नामांकन शैली पॉलिमॉर्फिक संबंधों के बारे में है।नामांकन बहुलक संबंध अच्छी तरह से
मेरे डेटाबेस में तीन प्रकार के व्यक्ति हैं: एक 'कंपनी', एक ग्राहक, और एक कर्मचारी। तीनों में से प्रत्येक कार्य और घटनाओं, और परियोजनाओं के साथ बहुलक संबंधों में हैं।
रेल गाइड के अनुसार, इस तरह (मैं संक्षिप्तता के लिए कुछ वर्गों हटा दिया है) किया जाएगा:
Person.rb
has_many :tasks, :as => :taskable
has_many :events, :as => :eventable
has_many :projects, :as => :projectable # awkward names
Task.rb
belongs_to :taskable, :polymorphic => true
These lead to the rather strange:
@person = @task.taskable
मुझे लगता है कि निम्नलिखित कहीं अधिक व्याकरण और सुरुचिपूर्ण होगा ... होगा यह काम, और यदि हां, तो क्या कोई कारण है कि आधिकारिक स्रोत projectable
जैसे शब्दों का उपयोग करते हैं जैसे owner
?
Person.rb
has_many :tasks, :as => :owner
has_many :events, :as => :owner
has_many :projects, :as => :owner
Task.rb
belongs_to :owner, :polymorphic => true
This creates the elegant:
@person_1 = @task.owner
@person_2 = @project.owner
मैंने एसोसिएशन के बारे में रेल गाइड की जांच की और यह कहता है कि: 'belong_to: taskable,: as =>: polymorphic 'गलत है और होना चाहिए:' belong_to: taskable,: polymorphic => true'। – jdoe
@jdoe - मैंने इसे प्रतिबिंबित करने के लिए कोड को सही किया है। जांच के लिए धन्यवाद। – sscirrus