আমি একাধিক বৈশিষ্ট্যের পরিবর্তনের জন্য এটি পরীক্ষা করার সমস্যাটি সমাধান করেছি।
attrs = ["street1", "street2", "city", "state", "zipcode"]
if (@user.changed & attrs).any?
then do something....
end
changed
পদ্ধতি চারিত্রিক বৈশিষ্ট্য আছে যেগুলো বস্তুর জন্য পরিবর্তন একটি বিন্যাস দেখায়।
উভয়ই @user.changed
এবং attrs
অ্যারে তাই আমি ছেদটি পেতে পারি ( ary & other ary
পদ্ধতিটি দেখুন)। ছেদ করার ফলাফলটি একটি অ্যারে। any?
অ্যারেতে কল করে, যদি অন্তত একটি চৌরাস্তা থাকে তবে আমি সত্য হয়ে উঠি।
এছাড়াও খুব দরকারী, changed_attributes
পদ্ধতিটি তাদের মূল মানগুলির সাথে বৈশিষ্ট্যের changes
একটি হ্যাশ প্রদান করে এবং মূল এবং নতুন মানগুলির সাথে একটি অ্যারেগুলিতে বৈশিষ্ট্যের একটি হ্যাশ প্রদান করে।
সংস্করণগুলি এই পদ্ধতিগুলিকে সমর্থন করে যার জন্য আপনি এপিআইডক চেক করতে পারেন।
http://apidock.com/rails/ActiveModel/Dirty