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


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.