Включение cache_classes приводит к неопределенному методу `increment_counter 'для ActiveRecord :: Relation: Class - PullRequest
0 голосов
/ 03 сентября 2011

После обновления до Rails 3.0.10, я получаю странную ошибку, если я устанавливаю config.cache_classes = true

NoMethodError (undefined method <code>increment_counter' for ActiveRecord::Relation:Class): activerecord (3.0.10) lib/active_record/associations.rb:1553:inОВА: в _run_create_callbacks' activerecord (3.0.10) lib/active_record/callbacks.rb:277:in create 'activerecord (3.0.10) lib / active_record / persistence.rb: 257: в create_or_update' activerecord (3.0.10) lib/active_record/callbacks.rb:273:in create_or_update' activesupport (3.0.10) lib / active_support / callbacks.rb: 444: в _run_save_callbacks' activerecord (3.0.10) lib/active_record/callbacks.rb:273:in create_or_update'activerecord (3.0.10) lib / active_record / persistence.rb: 60: в save!' activerecord (3.0.10) lib/active_record/validations.rb:49:in сохранить!'activerecord (3.0.10) lib / active_record / attribute_methods / dirty.rb: 30: в `save! '...

Я сохраняю модель ответа, которая имеет отношение отношение к кэшу счетчика:

belongs_to    :form, :counter_cache => true

Самое странное, что после перезапуска сервера первое сохранение работает нормально, а после этого яначать получать такие исключения.

Может быть, кто-то мог бы посоветовать, где я мог бы начать копать по причине?

1 Ответ

1 голос
/ 04 сентября 2011

Проблема была вызвана устаревшим гемом activ_as_taggable_on_steroids, который вызывал проблемы с кэшем классов в Rails3.Переключен на самоцвет «действует как тег» - проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...