2012-01-24 64 views
0

我有一个cron作业,每60分钟生成一个静态HTML代码块(保存为erb模板),该块显示最近添加到客户端产品目录中的20个产品。Rails 2.3 - 如何防止浏览器缓存部分?

我的代码呈现此块作为部分:但是

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

的问题是,这部分是越来越受到用户的浏览器谁进来&浏览该网站缓存。

有没有人知道如何在这里添加某种cache-buster来强制部分代码在用户每次访问时重新加载?

我读过很多关于在单个页面或全站范围内完成此操作的说明,但在解决如何完成部分操作时遇到问题。

回答

1

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

+0

生成的.ERB仅包含静态HTML - 一个无序列表,我需要能够在该网站的主页的特定部分包含&显示包含在该文件中的HTML。文件/ HTML每小时重新生成一次,因此我需要避免由用户浏览器缓存该文件。 – Jason

+0

这就是Rails缓存。你可以用'File.read'部分加载这个无序列表 - 它阻止了缓存。 –

相关问题