Моето четене на https://apidock.com/rails/ActiveRecord/Dirty
е, че трябва да извикате ..._will_change! преди променяте атрибута. Трябва да можете да потвърдите това, като прегледате changes при различни сценарии.
Актуализация:току-що тествах поведението с атрибут на низ и той все още запазва актуализирания низ, дори ако промяната е направена преди ..._will_change се извиква, така че моето тълкуване може да е изключено.