From 2a6039a81027a4f0f3f9fc4d95b6bba7323af28d Mon Sep 17 00:00:00 2001 From: Jeremy Walker Date: Thu, 9 Aug 2012 12:44:59 +0100 Subject: Ported PR #4856 to 3-2-stable. --- activerecord/lib/active_record/store.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'activerecord/lib') diff --git a/activerecord/lib/active_record/store.rb b/activerecord/lib/active_record/store.rb index 8cc84f81d0..49d01de365 100644 --- a/activerecord/lib/active_record/store.rb +++ b/activerecord/lib/active_record/store.rb @@ -36,11 +36,13 @@ module ActiveRecord def store_accessor(store_attribute, *keys) Array(keys).flatten.each do |key| define_method("#{key}=") do |value| + send("#{store_attribute}=", {}) unless send(store_attribute).is_a?(Hash) send(store_attribute)[key] = value send("#{store_attribute}_will_change!") end define_method(key) do + send("#{store_attribute}=", {}) unless send(store_attribute).is_a?(Hash) send(store_attribute)[key] end end -- cgit v1.2.3