aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods/serialization.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-21 12:38:11 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-21 12:38:11 -0300
commit94e7dbce8a8129ba9f431870aefd33ae719afd72 (patch)
tree0cbfdb9af6c0a6ff32669a9e33cb1fc38c39ed3f /activerecord/lib/active_record/attribute_methods/serialization.rb
parent6931bed1b41ae9d8b5ba4978156211082b873816 (diff)
parentd1b063392248b9b0dc4757ecfacb787e590d56e3 (diff)
downloadrails-94e7dbce8a8129ba9f431870aefd33ae719afd72.tar.gz
rails-94e7dbce8a8129ba9f431870aefd33ae719afd72.tar.bz2
rails-94e7dbce8a8129ba9f431870aefd33ae719afd72.zip
Merge pull request #14613 from Sirupsen/fix-serialize-update-column
Fix serialized field returning serialized data after update_column Conflicts: activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods/serialization.rb')
-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 c3466153d6..53a9c874bf 100644
--- a/activerecord/lib/active_record/attribute_methods/serialization.rb
+++ b/activerecord/lib/active_record/attribute_methods/serialization.rb
@@ -142,6 +142,14 @@ module ActiveRecord
end
end
+ def raw_type_cast_attribute_for_write(column, value)
+ if column && coder = self.class.serialized_attributes[column.name]
+ Attribute.new(coder, value, :serialized)
+ else
+ super
+ end
+ end
+
def _field_changed?(attr, old, value)
if self.class.serialized_attributes.include?(attr)
old != value