Я почти все пробовал, но кажется невозможным использовать expire_fragment от моделей? Я знаю, что ты не должен и это не-MVC, но, безусловно, есть какой-то способ сделать это.
Я создал модуль в lib/cache_helper.rb со всеми моими помощниками по истечению срока действия, внутри каждого - всего лишь куча вызовов expire_fragment. У меня есть все мои настройки кэширования подметей под/app/подметальные машины и включить "включить CacheHelper "в моем контроллере приложений, так что срок действия кеша приложение при вызове через контроллеры прекрасно работает.
Тогда у меня есть некоторые внешние демоны, и особенно некоторые повторяющиеся задачи cron, которые вызывают задачу рейка, которая вызывает определенную метод. Этот метод выполняет некоторые операции обработки и ввода записей в модель, после которой мне нужно истечь кеш.
Какой лучший способ сделать это, поскольку я не могу указать утилизатор кэша в модели. Кажется, что правильные наблюдатели являются лучшим решением, но жалуется на expire_fragment undefined и т.д., я даже попытался включить классы кэширования ActionController в наблюдателя но это не сработало. Мне бы хотелось, чтобы некоторые идеи о том, как создать решение для этого. Благодарю.