Ich habe ein seltsames Problem, bei dem bestimmte Modelle in einer Rails-Engine, die ich verwende, im Objektraum dupliziert werden.
(rdb:1) ObjectSpace.each_object(::Class).each { |klass| puts klass.to_s + ": " + klass.object_id.to_s if klass.to_s.eql?("DynamicFieldsets::Field") }
DynamicFieldsets::Field: 66866100
DynamicFieldsets::Field: 71836380
2479
Wenn dies geschieht, kann ich keine is_a? oder Gleichheitsprüfungen verwenden, um zu testen, ob ein Objekt eine Instanz der Klasse Field ist. Das Problem tritt nur in der Entwicklung auf, und es sieht so aus, als ob es dadurch verursacht wird, dass cache_classes ausgeschaltet ist. Ich glaube, das Objekt aus der vorherigen Anfrage ist noch im Objektbereich, aber ich bin nicht sicher, wie ich es entfernen kann.