Вы можете попробовать это:
cache("news") do
%h2 News
- etc
end
и ...
def expire_home_cache
puts "expire_home_cache"
expire_fragment("news")
end
... или попробуйте это ...
- cache({:key=>"news"}) do
%h2 News
- etc
Я думаю, что проблема может заключаться в том, что ruby или rails не могут определить, какой именно ключ, и поэтому метод cache и expire_fragment генерируют два разных ключа кэша.