سؤال

ولدي ارتباط الكثيرين إلى واحد القضبان متعددة الأشكال في بلدي القضبان التطبيق لنموذج «القضية». هناك العديد من الأشياء التي لديها حالات، لذلك يمكنني الوصول إلى حالة كل شيء له بالممارسة "thing_that_has_a_case.case.

ولكن، وأنا أحاول أن تذهب في الاتجاه الآخر وأنا غير متأكد من كيفية. لدي الوصول إلى الكائن القضية ولكن أريد أن الوصول إلى الشيء الذي يتم فتش. هل لدى القضبان وسيلة للقيام بذلك؟ أنا يمكن أن يفعل ذلك مع التحول القبيح أن يقوم مزود مختلفة تجد لكل نوع من وجوه، ولكن كنت أتمنى أن القضبان لديهم وسيلة أفضل. شكرا!

هل كانت مفيدة؟

المحلول

ويمكنك إضافة شيء من هذا القبيل لنموذج قضيتك:

belongs_to :parent, :polymorphic => true

و.. الذي يفترض أن يكون لديك حقول parent_id وparent_type في نموذج قضيتك (تغيير الوسيطة الأولى إلى belongs_to اعتمادا على كيفية وقد سميت هذه المجالات الجمعيات). وبمجرد الانتهاء من ذلك، يجب أن تكون فقط قادرة على الرجوع إلى case.parent لمثيل قضية معينة.

و، فقط لتوضيح وجهة واحدة من هذه العلاقة لديه شيء مثل:

has_many :cases, :as => :parent, :dependent => :destroy

و(أفترض أنك بالفعل أن العمل على أساس وصفك)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top