मैंने http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html पर प्रलेखन पढ़ा है , लेकिन जब और के around_*
संबंध में कॉलबैक ट्रिगर होते हैं तो समझ में नहीं आता ।before_*
after_*
किसी भी मदद की बहुत सराहना की।
धन्यवाद।
मैंने http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html पर प्रलेखन पढ़ा है , लेकिन जब और के around_*
संबंध में कॉलबैक ट्रिगर होते हैं तो समझ में नहीं आता ।before_*
after_*
किसी भी मदद की बहुत सराहना की।
धन्यवाद।
जवाबों:
around_*
कॉलबैक को कार्रवाई से पहले लागू किया जाता है , फिर जब आप कार्रवाई को खुद को लागू करना चाहते हैं yield
, तो आप इसे निष्पादित करना जारी रखें। इसलिए इसे कहा जाता हैaround
क्रम इस प्रकार है: before
, around
, after
।
तो, एक ठेठ around_save
इस तरह दिखेगा:
def around_save
#do something...
yield #saves
#do something else...
end
आसपास_ * कॉलबैक को कार्रवाई के आसपास और पहले_ * और उसके बाद * क्रियाओं के अंदर कहा जाता है। उदाहरण के लिए:
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