回答
使用與使用Rails.cache訪問的關鍵碼略有不同的關鍵字創建緩存碎片條目。
使用expire_fragment
代替(你可以將它發送到控制器):http://api.rubyonrails.org/classes/ActionController/Caching/Fragments.html#M000438
這對我不起作用。如果這對你不起作用,請嘗試`Rails.cache.delete_matched'views/site_search_form *'` – yivo 2016-08-15 18:40:23
從Rails 3開始,片段緩存最後有一個散列,它基於視圖內容生成。這樣一來,如果視圖更改,緩存會自動分配,但這會使密鑰過期變得困難。你可以告訴Rails不要在緩存調用中用`skip_digest:true`添加散列。更多信息:https://www.reinteractive.net/posts/197-if-you-explicitly-expire-cached-fragments-opt-out-of-cache-digests – 2016-12-08 19:34:54
的ActionController :: Base.new.expire_fragment(鍵)
Rails.cache.delete "views/site_search_form"
在Rails 5我採取了以下措施,胸圍緩存無需訴諸skip_digest: true
。我們的問題是,更改I18n字符串的值並不反映在計算出的緩存摘要中,因此緩存不會自動獲取。
這裏是高速緩存塊被定義的視圖:
/ views/layouts/_footer.html.slim
- cache :footer do
span= t('shared.footer')
然後,在軌道控制檯I運行:
fragment = ActionController::Base.new.view_context.cache_fragment_name(:footer, virtual_path: 'layouts/_footer.html.slim')
ActionController::Base.new.expire_fragment(fragment)
cache_fragment_name
將根據virtual_path
關鍵字參數計算出的摘要。
- 1. 如何緩存片段視圖
- 2. 控制緩存過期
- 3. HTML5 - 控制緩存過期日期
- 4. 如何將緩存控制過期標頭添加到圖像?
- 5. 從不同的視圖控制器到期頁面緩存?
- 6. 片段在拉鍊視圖中緩存?
- 7. 如何在區域設置更改時過期片段緩存?
- 8. Rails從模型中過期片段高速緩存
- 9. Android:如何更新刷卡視圖中的緩存片段?
- 10. 從控制檯視圖中刪除Nodeclipse控制檯
- 11. 如何過期緩存的靈氣網絡圖片
- 12. 如何設置緩存控制/過期頭
- 13. 如何刪除過期使用Spring高速緩存控制頭
- 14. 片段緩存
- 15. C#,MVC - 試圖從控制檯刪除站點緩存
- 16. 利用瀏覽器緩存 - CSS /圖像的過期/緩存控制
- 17. 文件沒有從瀏覽器緩存加載過期和緩存控制
- 18. 緩存視圖的緩存鍵控制命名
- 19. 如何控制片段onResume?
- 20. 如何過期緩存
- 21. 如何禁用某些視圖的動作控制器緩存?
- 22. 如何在django模板視圖中控制緩存
- 23. Rails - 片段緩存未到期
- 24. 如何控制CSS緩存?
- 25. 如何從控制檯過期(使用caches:action設置)操作?
- 26. 如何從控制器訪問片段中的片段?
- 27. 在我的視圖中使用緩存片段時,如何避免控制器中的活動記錄調用?
- 28. webapp2如何刪除緩存控制:從響應頭無緩存?
- 29. 在後臺緩存畢加索圖片
- 30. IOS - 在視圖控制器中禁用視圖緩存
你正在運行哪個版本的Rails?緩存刪除方法已添加到2.1中。 – vrish88 2009-04-16 16:32:40