diff options
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/session.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/session.rb b/actionpack/lib/action_controller/session.rb new file mode 100644 index 0000000000..f3c3f87499 --- /dev/null +++ b/actionpack/lib/action_controller/session.rb @@ -0,0 +1,14 @@ +module ActionController #:nodoc: + module Session #:nodoc: + def self.append_features(base) #:nodoc: + super #:nodoc: + base.after_filter(:clear_persistant_model_associations) + end + + private + def clear_persistant_model_associations #:doc: + session = @session.instance_variable_get("@data") + session.each { |key, obj| obj.clear_association_cache if obj.respond_to?(:clear_association_cache) } if session + end + end +end
\ No newline at end of file |