Я понял это.
Прежде всего, вся суть этой стратегии заключается в использовании интеллектуальных ключей кэша в рельсах, которые автоматически генерируют уникальные ключи на основе имени модели, идентификатора и атрибутов updated_at.
Что если у вас есть контент, который относится к двум моделям? Это встроенное соглашение, вы просто используете массив:
- cache([@posts, @user]) do
И это просто добавляет пользовательский ключ к ключу сообщений, так что если или обновляется, кеш автоматически истекает. Вы можете использовать это же соглашение для добавления дополнительной информации к ключу в виде простой строки. Это полезно для различения фрагментов, которые рисуются в одном и том же запросе, но требуют разных представлений, и является ответом на вопрос выше.
- cache([@posts, "lists"]) do
и затем на другой странице используйте
- cache([@posts, "list_with_images"]) do
и это создаст два отдельных фрагмента, которые не будут путать друг с другом.