मैं निम्नलिखित संघ है:कैसे पता चलेगा कि मॉडल स्वचालित रूप से किस प्रकार से नष्ट हो जाता है: निर्भर =>: रेल में नष्ट हो जाते हैं?
class Parent < ActiveRecord::Base
has_many :children, :dependent => :destroy
before_destroy :do_some_stuff
end
class Child < ActiveRecord::Base
belongs_to :parent
before_destroy :do_other_stuff
end
मैं do_other_stuff में जानना चाहते हैं कि विनाश निर्भर द्वारा चलाई गई है चाहते हैं => नष्ट या नहीं, क्योंकि यह का हिस्सा/do_some_stuff में किया जाएगा होगा
मैंने कोशिश की parent.destroyed?
, parent.marked_for_destruction?
, parent.frozen?
लेकिन कुछ भी काम:/
किसी भी विचार?
उपयोग कर सकते हैं मुझे नहीं लगता कि 'parent' उपलब्ध नहीं होगा । यह पहले से ही चला गया है। – tadman
अभिभावक नष्ट होने से पहले बच्चों को नष्ट कर दिया जाता है। अभिभावक, afaik पर कोई झंडा उपलब्ध नहीं होगा। –
@tadman गलत है। 'माता-पिता' मौजूद है जब निर्भर वस्तु नष्ट हो रही है, क्योंकि बच्चों को 'माता-पिता' नष्ट होने से पहले नष्ट कर दिया जाता है। आदेश निम्नानुसार प्रतीत होता है: 'पहले_डस्ट्राय' कॉलबैक को 'बच्चों' पर नष्ट होने से पहले निकाल दिया जाता है, 'बच्चों' को नष्ट कर दिया जाता है, 'माता-पिता' पर कॉलबैक को हटा दिया जाता है, 'माता-पिता', 'आखिरकार' नष्ट हो जाता है। क्या आप 'do_some_stuff' विधि में जो करने का प्रयास कर रहे हैं उसका तर्क ले जा सकते हैं? टिप्पणियों के लिए – Batkins