Это доступно в модуле ActiveRecord :: Dirty , который включен по умолчанию.
Метод changed
выдаст вам список атрибутов с несохраненными изменениями.Метод changes
даст вам хэш несохраненных изменений, где ключи - это имена атрибутов, а значения - это массив, состоящий из исходного и нового значения.
Например:
@user.changed # => ['name', 'age']
@user.changes # => { 'name' => ['Bill', 'John'], 'age' => [18, 21] }