रेलें: लगभग_ * कॉलबैक


98

मैंने http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html पर प्रलेखन पढ़ा है , लेकिन जब और के around_*संबंध में कॉलबैक ट्रिगर होते हैं तो समझ में नहीं आता ।before_*after_*

किसी भी मदद की बहुत सराहना की।

धन्यवाद।

जवाबों:


179

around_*कॉलबैक को कार्रवाई से पहले लागू किया जाता है , फिर जब आप कार्रवाई को खुद को लागू करना चाहते हैं yield, तो आप इसे निष्पादित करना जारी रखें। इसलिए इसे कहा जाता हैaround

क्रम इस प्रकार है: before, around, after।

तो, एक ठेठ around_saveइस तरह दिखेगा:

def around_save
   #do something...
   yield #saves
   #do something else...
end

4
यह समझ में आता है और आधिकारिक रेल गाइड में नहीं है।
— डैन एस।

120

आसपास_ * कॉलबैक को कार्रवाई के आसपास और पहले_ * और उसके बाद * क्रियाओं के अंदर कहा जाता है। उदाहरण के लिए:

class User
  def before_save
    puts 'before save'
  end

  def after_save
    puts 'after_save'
  end

  def around_save
    puts 'in around save'
    yield # User saved
    puts 'out around save'
  end
end

User.save
  before save
  in around save
  out around save
  after_save
=> true

14
मेरे लिए यह सबसे रोशन जवाब है। धन्यवाद दोस्त।
— अरूप रक्षित
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.