I've found a bug that is specific to the following scenario:
- Using MySQL
- Using a
longblob
column type - Using a serialized attribute
- Using
paper_trail
gem - Serialized field contains unicode character
Under those conditions, after saving changes to the serialized field, record#changed?
still reports true, and record#changes
contains an entry for the serialized field where both the before and after elements are identical. Calling record#reload
clears the changes and loads the record with the changed value. If paper_trail
is removed from the scenario, the ActiveModel attribute mutation tracking works as expected.