aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/type
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-12-23 09:38:48 -0700
committerSean Griffin <sean@thoughtbot.com>2014-12-23 09:40:01 -0700
commite35221cfd948098c6fabdff5fed3877edb8921d3 (patch)
treea929aae400a645ed8bb94e2bfd00d5493f33c326 /activerecord/lib/active_record/type
parentd26704a15f88d384dd282425daa832affdb5f8c1 (diff)
downloadrails-e35221cfd948098c6fabdff5fed3877edb8921d3.tar.gz
rails-e35221cfd948098c6fabdff5fed3877edb8921d3.tar.bz2
rails-e35221cfd948098c6fabdff5fed3877edb8921d3.zip
Don't treat `nil` as changed in serialized types
We were ignoring the `default_value?` escape clause in the serialized type, which caused the default value to always be treated as changed. Fixes #18169
Diffstat (limited to 'activerecord/lib/active_record/type')
-rw-r--r--activerecord/lib/active_record/type/serialized.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/type/serialized.rb b/activerecord/lib/active_record/type/serialized.rb
index 3191a868ef..3cac03464e 100644
--- a/activerecord/lib/active_record/type/serialized.rb
+++ b/activerecord/lib/active_record/type/serialized.rb
@@ -29,7 +29,7 @@ module ActiveRecord
def changed_in_place?(raw_old_value, value)
return false if value.nil?
- subtype.changed_in_place?(raw_old_value, coder.dump(value))
+ subtype.changed_in_place?(raw_old_value, type_cast_for_database(value))
end
def accessor