【问题标题】:Rails 2.3 - How to prevent a browser from caching a partial?Rails 2.3 - 如何防止浏览器缓存部分内容?
【发布时间】:2012-01-24 20:41:30
【问题描述】:

我有一个 cron 作业,它每 60 分钟生成一个静态 HTML 代码块(保存为 erb 模板),该块显示已添加到客户产品目录中的最新 20 种产品。

我的代码将此块呈现为部分:

<%= render :partial => "/products/partials/most_recent_products" %>

然而,问题是这部分内容被访问并浏览该网站的用户浏览器缓存。

有谁知道如何在此处添加某种缓存破坏器以强制在用户每次访问时重新加载部分代码?

我已经阅读了很多关于在单个页面或站点范围内执行此操作的说明,但在弄清楚如何仅针对部分执行此操作时遇到问题。

【问题讨论】:

    标签: ruby-on-rails caching


    【解决方案1】:

    那不是浏览器缓存,而是 Rails。当它在生产环境中运行时——它会缓存所有的 ERB 文件,所以最简单的事情就是重启你的 Rails 应用程序。但我认为您可以在不更改 ERB 模板文件的情况下完成您的任务。你能提供更多关于你的需求的信息吗?

    【讨论】:

    • 生成的 .ERB 仅包含静态 HTML - 一个无序列表,我需要能够在该站点主页的特定部分包含并显示该文件中包含的 HTML。文件/HTML 每小时重新生成一次,所以我需要避免用户浏览器缓存它。
    • 那是 Rails 缓存。您可以使用 File.read 部分加载该无序列表 - 它会阻止缓存。
    猜你喜欢
    • 2010-10-17
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多