Meine Lektüre von http://apidock.com/rails/ActiveRecord/Dirty
ist, dass Sie ..._will_change!
aufrufen müssen vorher Sie ändern das Attribut. Sie sollten dies bestätigen können, indem Sie changes
untersuchen unter verschiedenen Szenarien.
Update:Ich habe gerade das Verhalten mit einem String-Attribut getestet, und es speichert immer noch den aktualisierten String, auch wenn die Änderung vor ..._will_change
vorgenommen wurde aufgerufen wird, daher kann meine Interpretation falsch sein.