Raylardan önce 5.1
Ekleme _was
Ayrıntınız size önceki değerini verecektir.
5.1+ raylar için
Lucas Andrade'nin aşağıdaki yanıtından kopyalandı : https://stackoverflow.com/a/50973808/9359123
Ekleme _was
, 5.1 raylarında kullanımdan kaldırıldı, şimdi eklemelisiniz_before_last_save
Gibi bir şey:
before_save object
do_something_with object.name_before_last_save
end
Veritabanındaki son kaydetmenizden önce ad değerini döndürür (kaydetme ve oluşturma için çalışır) Belgelere göre ve
arasındaki fark :_was
_before_last_save
_was kaynak dokümanlardan
def attribute_was(attr)
attribute_changed?(attr) ? changed_attributes[attr] : __send__(attr)
end
belgelerden _before_last_save kaynağı
def attribute_before_last_save(attr_name)
mutations_before_last_save.original_value(attr_name)
end
self.context
:self.context_was