Я хочу кешировать свой запрос @activity ... @activity содержит сообщения. Создатели постов видят маленькую кнопку «редактировать». Я пытаюсь использовать эту стратегию кэширования русской куклы:
<% cache ["post-index", @activity.map(&:id), @activity.map(&:updated_at).max, @activity.map {|post| post.user.updated_at}.max] do %>
<% @activity.each do |post| %>
<% cache ['post', post.updated_at, post.user.updated_at, cache_editable ] do %>
<%= post.title %>
<%= post.description %>
etc... etc...
<% end %>
<% end %>
<% end %>
- All models have touch: true.
- cache_editable is an helper that returns true if user is the post creator or false if not.
Правильна ли эта стратегия? Любые советы? Существуют ли угрозы безопасности при использовании этой стратегии? Я не понимаю, разделяются ли ключи кеша между пользователями ... Если ПОЛЬЗОВАТЕЛЬ А создает этот кеш, ПОЛЬЗОВАТЕЛЬ Б может использовать его?
Большое спасибо за вашу помощь!