Дублирование класса в объектном пространстве object_id

У меня возникла странная проблема, когда некоторые модели в движке rails, который я использую, дублируются в пространстве объектов.

(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

Когда это происходит, я не могу использовать is_a? или проверки на равенство для проверки того, что объект является экземпляром класса Field. Проблема возникает только в процессе разработки, и похоже, что она может быть вызвана отключением cache_classes. Я думаю, что объект из предыдущего запроса все еще находится в пространстве объектов, но я не знаю, как его удалить.

7
задан tshepang 18 October 2013 в 14:18
поделиться