Мы столкнулись с проблемой в Rails 3.1 при запуске в режиме разработки. Кажется, что наши модели иногда получают перезагруженный средний запрос, а новый класс object_id устанавливается на классы нашей модели. Который затем приводит к ActiveRecord :: AssociationTypeMismatchМодели Rails перезагружены в середине запроса, что приводит к ассоциацииTypeMismatch
ActiveRecord :: AssociationTypeMismatch Character (# 2194222580) ожидается, получил символ (# 2185863000)
Если мы обратимся config.cache_classes = true
в development.rb
проблема, кажется, идет но это нереально, так как нам придется постоянно перезапускать наши серверы.
У кого-нибудь есть идея, почему модели могут быть перезагружены в середине запроса, или если есть способ, которым мы могли бы заставить кэш продержаться весь запрос?
try active_reload gem это кеш-модель и истекает, когда в dev-режиме происходят какие-либо изменения. Я не знаю, почему он меняет время выполнения. Скачайте и попробуйте и дайте мне знать эту помощь для последнего выпуска – Amar
Я думаю, что выглядит как он работает, мы сейчас на рейках 3.1 и, по-видимому, active_reload по умолчанию включен в rails 3.2. Немного сложно последовательно воспроизводить, но я обновлю этот вопрос, если будет похоже, что он ушел через несколько дней. – aproctor
active_reload не работает. Хотя мы, возможно, не настроили его правильно – aproctor