আমি ডকুমেন্টেশন পড়া আছে http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html কিন্তু বুঝতে পারছি না যখন around_*
callbacks সম্পর্কিত আলোড়ন সৃষ্টি হয় before_*
এবং after_*
।
যে কোনও সহায়তা অনেক প্রশংসিত।
ধন্যবাদ
আমি ডকুমেন্টেশন পড়া আছে http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html কিন্তু বুঝতে পারছি না যখন around_*
callbacks সম্পর্কিত আলোড়ন সৃষ্টি হয় before_*
এবং after_*
।
যে কোনও সহায়তা অনেক প্রশংসিত।
ধন্যবাদ
উত্তর:
around_*
কলব্যাকগুলি ক্রিয়াকলাপের আগে ডেকে আনা হয় , তারপরে আপনি যখন নিজেই ক্রিয়াকলাপটি চালাতে চান yield
, তখন আপনি তার কাছে চলে যান, তারপরে মৃত্যুদন্ড কার্যকর করুন। এ কারণেই এটি বলা হয়around
অর্ডার ভালো যায়: before
, around
, after
।
সুতরাং, একটি সাধারণ দেখতে around_save
হবে:
def around_save
#do something...
yield #saves
#do something else...
end
ক্রিয়াটির চারপাশে__ কলব্যাকটিকে পূর্বের_ * এবং পরে_ * ক্রিয়াগুলির মধ্যে বলা হয় called উদাহরণ স্বরূপ:
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