請問我可以如何獲取已更改對象的數據?如何在保存前獲取對象的值
例如,我有一個對象@student = {:name => 'xxx', :class => 'yyy'}
,用戶在該網站上播放此對象。保存對象後,我會通知用戶有關更改的內容,例如,Student #{@student.name} has changed #{@student.class}
。
那麼基本上如何從保存之前的模型中獲取以前的數據?
注意:before_save
回調不做這項工作。
請問我可以如何獲取已更改對象的數據?如何在保存前獲取對象的值
例如,我有一個對象@student = {:name => 'xxx', :class => 'yyy'}
,用戶在該網站上播放此對象。保存對象後,我會通知用戶有關更改的內容,例如,Student #{@student.name} has changed #{@student.class}
。
那麼基本上如何從保存之前的模型中獲取以前的數據?
注意:before_save
回調不做這項工作。
查看paper_trail
gem,它允許對模型進行版本控制和跟蹤更改。
在完成保存之前,您可以使用ActiveRecord的changed
方法並將結果保留在閃存中。
flash[:changed_attrs] = @student.changed.join(', ')