ActiveRecord cache_key не изменяется для включенных таблиц - PullRequest
0 голосов
/ 07 мая 2019

У меня есть запрос

  query = A.all.includes(:bs)

  Rails.cache.fetch(query.cache_key) do
    .....
  end

Когда изменяется содержимое записи, включенной в модель B, срок действия ключа кэша не истекает, а старые данные извлекаются. Есть ли способ сделать cache_key проверять изменения в таблицах в includes?

1 Ответ

0 голосов
/ 07 мая 2019

После прочтения api-документов и чтения источника для cache_key кажется, что объединения таблиц в запросе не поддерживаются, а ключ кэша проверяет только обновления для первой модели.Похоже, не существует простого исправления, кроме реализации пользовательской версии ключа кеша, которая делает то же самое, но для нескольких таблиц.

...