मैंने व्यवहार को ओवरराइट करने के लिए बहुत सी चीजों की कोशिश की: विधियों को नष्ट करें लेकिन कुछ भी काम नहीं करता है। मैंने पहले act_as_paranoia प्लगइन का उपयोग किया था, लेकिन यह has_many में एक मॉडल के साथ काम नहीं करता है: एसोसिएशन के माध्यम से।रेल: ओवरराइट कैसे करें: विधि को नष्ट करें?
मैं अधिलेखित करना चाहते हैं: विधि को नष्ट सिर्फ इस तरह कुछ करने के लिए:
def destroy
_run_destroy_callbacks { delete }
end
def delete
self.update_attribute(:status => 0)
freeze
end
है यही कारण है कि, मैं बस के बजाय रिकॉर्ड खुद को नष्ट करने का (0 करने के लिए स्थिति) एक और क्षेत्र को अपडेट करना चाहते।
हां, यह पहली बात थी जिसकी मैंने कोशिश की थी। यह कुछ भी नहीं करता है। मैं अपने लॉग में अनुरोध से हटा सकते हैं। कस्टम नष्ट विधि को नहीं कहा जाता है। –
एचआरएम, मैं वास्तव में कई ऐप्स में कई मॉडलों में इसका उपयोग करता हूं और यह असफल होने के बिना काम करता है। क्या इस विशेष मॉडल के साथ कुछ भी 'विशेष' है और क्या आप हटाना या नष्ट कर रहे हैं? आप उत्तरार्द्ध चाहते हैं। – miked
रिकॉर्ड अपने माता-पिता से AREL (ActiveRecord संबंध) में नष्ट हो गया है, शायद यह समस्या है?असल में, मैं अपने शराब मॉडल और रिकॉर्ड (मुख्य रूप, नियंत्रक में अद्यतन विधि) को अद्यतन करता हूं, और यदि मैं बच्चे को हटाने का विकल्प चुनता हूं (वैरिएटल मॉडल जिसमें कस्टम नष्ट होता है), तो इसे स्पष्ट रूप से नहीं कहा जाता है। शायद, रेल तंत्र को नष्ट करने के लिए अलग है यदि यह माता-पिता बच्चे को नष्ट कर देता है (बच्चे मॉडल पर नष्ट न करें?) –