如何在保存之前获取对象的值

时间:2012-11-28 23:37:39

标签: ruby-on-rails oop model-view-controller model

您能告诉我如何获取更改对象的数据。

例如,我有一个对象@student = {:name => 'xxx', :class => 'yyy'},用户在网站上玩这个对象。保存对象后,我会通知用户有关已更改的内容,例如Student #{@student.name} has changed #{@student.class}

那么基本上如何从保存前的模型中获取以前的数据?

注意: before_save回调不起作用。

2 个答案:

答案 0 :(得分:1)

您可以使用ActiveRecord的changed方法,并在完成保存之前将结果保留在闪存中。

flash[:changed_attrs] = @student.changed.join(', ')

答案 1 :(得分:1)

查看paper_trail gem,它允许对模型进行版本控制和跟踪更改。