Я ввел данные некоторых продуктов в таблицу, используя миграцию. Когда я обновляю, добавляю, удаляю продукты из этой таблицы, мне нужно закончить кеш страницы и фрагментов. Я создал для этого подметальную машину.
class ProductSweeper < ActionController::Caching::Sweeper
observe Product
def after_create
expire_cache
end
def after_save
expire_cache
end
def after_update
expire_cache
end
def after_destroy
expire_cache
end
private
def expire_cache
expire_page(:controller => 'ProductsController', :action => 'index')
expire_fragment 'listed_products'
end
end
Затем в скрипте / консоли я обновляю название продукта и сохраняю. Когда я перезагружаю свое приложение в браузере, оно все равно дает мне попадание в кеш.
Хит кэшированного фрагмента: views / перечисленные_продукты (0,2 мс)
Может кто-нибудь сказать мне, как истечь этот кеш. Я не буду добавлять, обновлять, удалять продукты через действие контроллера.
спасибо,
пепел
Дополнительная информация:
<div>
<% cache 'listed_products' do %>
<%= render :partial => "/layouts/product", :collection => Product.listed_products %>
<% end %>
</div>
вот частичное.
<ul class="vlist">
<li>
<div class="Flt Hday">
<%=h product.name %>
</div>
<div class="Frt Hday">
<%=h product.cal_date.strftime("%b %d, %Y") %>
</div>
</li>
</ul>