Mijn lezing van https://apidock.com/rails/ActiveRecord/Dirty
is dat je ..._will_change! voor je verandert het attribuut. U zou dit moeten kunnen bevestigen door changes te onderzoeken onder verschillende scenario's.
Update:ik heb zojuist het gedrag getest met een tekenreekskenmerk en het slaat de bijgewerkte tekenreeks nog steeds op, zelfs als de wijziging is aangebracht vóór ..._will_change wordt aangeroepen, dus mijn interpretatie kan niet kloppen.