रेल से पहले 5.1
जोड़ _was
अपनी विशेषता के लिए आप पिछले मूल्य दे देंगे।
रेल के लिए 5.1+
नीचे लुकास एंड्रेड के जवाब से कॉपी किया गया : https://stackoverflow.com/a/50973808/9359123
लागू करना _was
रेल 5.1 में पदावनत है, अब आपको संलग्न करना चाहिए_before_last_save
कुछ इस तरह:
before_save object
do_something_with object.name_before_last_save
end
डेटाबेस में आपके अंतिम सहेजने से पहले नाम को वापस कर देगा (काम करता है बचाने और बनाने के लिए) दस्तावेज़ के
बीच _was
और उसके _before_last_save
अनुसार अंतर :
डॉक्स से _was स्रोत
def attribute_was(attr)
attribute_changed?(attr) ? changed_attributes[attr] : __send__(attr)
end
डॉक्स से _before_last_save स्रोत
def attribute_before_last_save(attr_name)
mutations_before_last_save.original_value(attr_name)
end
self.context
:self.context_was