标签: ruby-on-rails ruby ruby-on-rails-3 activerecord
编辑记录时,如何检查数据是否已更改?
所以在更新之前
game.player=1
更新/编辑后
game.player=2
例如
当数据发生变化时,如何跟踪更改(检查是否已更改)并在ruby上执行某些操作。
答案 0 :(得分:5)
查看ActiveModel::Dirty
您可以通过执行以下操作检查模型是否已更改:
game.changed?
或者是个别字段:
game.player_changed?
两者都返回一个布尔值。
答案 1 :(得分:3)
所有更改也都保存在哈希中。如果您想使用这些值,这会派上用场。
game.changes #=> {:player => [1,2]}