aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2012-12-21 14:15:33 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-12-21 16:04:56 -0300
commit885f59f6852cce670b48680fa0a1b6a4b0998291 (patch)
tree62c1647da5404b9bcc2b9c1b8a733750ea993060 /activerecord/lib/active_record/attribute_methods
parentbf166996f2985c7952b1d27ba4c1789f6b6e4161 (diff)
downloadrails-885f59f6852cce670b48680fa0a1b6a4b0998291.tar.gz
rails-885f59f6852cce670b48680fa0a1b6a4b0998291.tar.bz2
rails-885f59f6852cce670b48680fa0a1b6a4b0998291.zip
Serialized attribute can be serialized in an integer column
Fix #8575 Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/attribute_methods/serialization.rb activerecord/test/cases/serialized_attribute_test.rb activerecord/test/models/person.rb
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods')
-rw-r--r--activerecord/lib/active_record/attribute_methods/serialization.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/serialization.rb b/activerecord/lib/active_record/attribute_methods/serialization.rb
index cf4c35cf84..deb89f3ac1 100644
--- a/activerecord/lib/active_record/attribute_methods/serialization.rb
+++ b/activerecord/lib/active_record/attribute_methods/serialization.rb
@@ -90,6 +90,14 @@ module ActiveRecord
end
end
+ def _field_changed?(attr, old, value)
+ if self.class.serialized_attributes.include?(attr)
+ old != value
+ else
+ super
+ end
+ end
+
def read_attribute_before_type_cast(attr_name)
if serialized_attributes.include?(attr_name)
super.unserialized_value