From 20f943ffd86ae3f74cc16c6f85fb7cc2a43da388 Mon Sep 17 00:00:00 2001 From: Matt Jones Date: Wed, 5 Sep 2012 11:01:26 -0400 Subject: correctly flag changed attributes in AR::Store, combine multiple calls to store_accessor --- activerecord/lib/active_record/store.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'activerecord/lib') diff --git a/activerecord/lib/active_record/store.rb b/activerecord/lib/active_record/store.rb index b4013ecc1e..25f528498e 100644 --- a/activerecord/lib/active_record/store.rb +++ b/activerecord/lib/active_record/store.rb @@ -57,8 +57,8 @@ module ActiveRecord define_method("#{key}=") do |value| attribute = initialize_store_attribute(store_attribute) if value != attribute[key] - attribute[key] = value send :"#{store_attribute}_will_change!" + attribute[key] = value end end @@ -67,7 +67,8 @@ module ActiveRecord end end - self.stored_attributes[store_attribute] = keys + self.stored_attributes[store_attribute] ||= [] + self.stored_attributes[store_attribute] |= keys end end -- cgit v1.2.3