【问题标题】:Rails: How to Expire Fragments with stale assetsRails:如何使带有陈旧资产的片段过期
【发布时间】:2015-01-15 20:24:49
【问题描述】:

我正在使用 Rails 片段缓存,片段内部有一个图像文件。如果我使用更新的图像进行部署(清除资产),图像摘要指纹将会改变。因此,在片段过期之前,它将指向旧图像并被破坏。如何使片段过期以获取更新的图像(顺便说一下我无法运行rails cache clear)?

【问题讨论】:

    标签: ruby-on-rails caching fragment assets digest


    【解决方案1】:

    根据Rails Cache Guide,你可以让一个片段过期

    expire_fragment(controller: 'products', action: 'recent', action_suffix: 'all_products')
    

    你甚至可以命名你的缓存段,即

    <% cache('some_image') do %>
      *Your code here*
    <% end %>
    

    然后用那个名字过期

    expire_fragment('some_image')
    

    【讨论】:

    • 该解决方案的问题是我必须知道所有带有图像的缓存片段,这对于大型网站来说是不可行的。
    • 您并没有真正为您的编码情况提供任何上下文,因此很难提供准确的解决方案。既然您知道可以使片段过期,我建议您阅读 Rails 缓存指南,并查看其他一些选项(例如辅助函数)。下次您提出问题时,如果您提供代码、上下文、您尝试过的内容以及您想要的内容,每个人都可能会受益。这让我们更好地了解如何为您提供帮助,然后我们可以提供的帮助不仅仅是发布带有资源链接的通用解决方案。祝你好运
    猜你喜欢
    • 2012-03-15
    • 2014-02-11
    • 2016-10-11
    • 2012-08-07
    • 2016-10-18
    • 2014-11-02
    • 2011-11-12
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多