При config.cache_classes = false любое изменение в модели вызывает перезагрузку.Это включает в себя определение / переопределение константы, определенной в / известной модели.
У нас была эта проблема с использованием rspec и ActsAsFu.Переопределение класса Fu во время теста вызвало перезагрузку связанных (даже косвенно связанных) классов, и мы получили ошибку ActiveRecord :: AssociationTypeMismatch для связанного объекта.Мы посчитали это нашим, потому что у нас были тесты, которые выполнялись в одиночку, но не работали после других тестов.Наше решение состояло в том, чтобы просто создавать классы Fu с отдельными именами для каждой конфигурации и избегать переназначения имени класса во время теста.
Поэтому я рекомендую убедиться, что вы не переопределяете какие-либо константы, известные вашему классу Character (или известны классам, известным вашему классу персонажей и т. д.)