0
1.9.3p448 :014 > l.reload 
=> #<Lesson _id: 527246641d41c81d14000006, title: "ola"> 
1.9.3p448 :015 > l.changed? 
=> false 
1.9.3p448 :016 > l.changes 
=> {} 
1.9.3p448 :017 > l.previous_changes 
=> {"title"=>["olaaaaa", "ola"]} 
1.9.3p448 :018 > l.changed? 
=> false 
1.9.3p448 :019 > l.update_attributes(title: "olaaa") 
=> true 
1.9.3p448 :020 > l.changes 
=> {} 
1.9.3p448 :021 > l.changed? 
=> false 

我已經更新了屬性"title"但是當我嘗試l.changed?我得到false檢查對象已更新mongoid 3.X

我知道new_record?方法,知道對象是否是一個新對象,但我需要知道對象是否更新。

我想知道,如何知道對象是否已經用mongoid 3.x更新?

回答

2

當您重新加載,保存,更新時,更改將移至previous_changes。您還可以訪問回調中的更改,否則您將不得不使用previous_changes。 這是由設計,以符合ActiveRecord。

+0

感謝,很酷的功能,不知道那個 – oyatek