Я сталкиваюсь с проблемой при изучении кэширования на уровне фрагментов в моем приложении Rails 3.0.4 с помощью memcached.Я немного запутался в происходящем, но думаю, что это связано с тем, как вывод выводится из области кэширования.Я запускаю memcached локально в режиме -vv и могу видеть, что ключ для фрагмента сохраняется / извлекается правильно, проблема в значении элемента в memcached.
Вот что я делаю:
< ... html before ... >
<%= cache("item_#{i.id}") do %>
<%= render :partial => 'shared/item', :locals => { :item => i, :functionality => [:set_as_default] } %>
<% end %>
< ... html after ... >
Когда я смотрю на значение ключа в кеше, у него есть html изнутри страницы, которая находится в этом фрагментном блоке кеша, но ТАКЖЕ ВНЕ этого (как из html до, так и html послерайоны).Здесь есть интересная часть, и, по-моему, это одна из причин, по которой я думаю, что она связана с захватом выходных данных - она не выполняет всю страницу, только некоторые HTML до и некоторые после.
Согласноруководство по кэшированию фрагментов рельсов, я думаю, что я все делаю правильно (http://guides.rubyonrails.org/caching_with_rails.html#fragment-caching). У кого-нибудь есть мысли относительно того, что может происходить?
Ваша помощь очень ценится!
-Eric