2009-03-03 18 views
12

मैं एकल तालिका विरासत का उपयोग कर रहा हूं और सभी उप-वर्गों पर टिप्पणियां कर रहा हूं। मैं केवल सभी अलग-अलग एसटीआई प्रकारों के लिए 1 नियंत्रक का उपयोग कर रहा हूं। जब form_for सहायक एक उप प्रकार के लिए यूआरएल उत्पन्न करता है तो यह उप प्रकार के लिए एक सहायक का उपयोग करने का प्रयास करता है, लेकिन मैं इसे माता-पिता के लिए सहायक का उपयोग करना चाहता हूं।क्या मैं एसटीआई कर सकता हूं और अभी भी पॉलिमॉर्फिक पथ सहायक का उपयोग कर सकता हूं?

undefined method `subclasstypename_comments_path' for #<ActionView::Base:0x41ef27c> 

पथ सहायक यह चाहिए 'उपयोग

parentclasstypename_comments_path 

उत्तर

57

हाँ है, बस AR::Base#becomes का उपयोग करें:

यह त्रुटि मैं हो रही है।

कहें कि आपकी बेस क्लास Account है, जो GuestAccount और LoginAccount पर उपclassed है।

@account.is_a? LoginAccount? #=> true 

तो फिर तुम सिर्फ एक

form_for [@account.becomes(Account), @comment] do |f| 
    ... 
+0

प्रपत्र सही पथ के साथ सही ढंग से renders है, लेकिन कुछ भी नहीं सहेजा जाता है जब मैं प्रपत्र – lulalala

+0

बिल्कुल सही, धन्यवाद प्रस्तुत कर सकते हैं। – recurser

+1

मैं आपकी महानता से पहले धनुष करता हूं! – paulus

संबंधित मुद्दे

 संबंधित मुद्दे