diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index dddb465c..8452eb4e 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -347,7 +347,7 @@ module ActiveModel return Enumerator.new {} unless object Enumerator.new do |y| - self.class._reflections.each do |key, reflection| + (@reflections ||= self.class._reflections.deep_dup).each do |key, reflection| next if reflection.excluded?(self) next unless include_directive.key?(key) @@ -411,6 +411,6 @@ module ActiveModel protected - attr_accessor :instance_options + attr_accessor :instance_options, :reflections end end