使用 Ruby on Rails 3.1,我在以下目录中有一些 JPG:
assets/images/subdir1/subdir2/myimage.jpg
这些图像是通过网站中的 JavaScript 动态加载的 (img.src = "assets/subdir1/subdir2/myimage.jpg")。出于某种原因,它们没有在生产中被缓存,而是使用缓存控制:无缓存。
如何确保这些图像被缓存?
在我的 production.rb 文件中,我有这样的内容:
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += ['jquery-1.8.3.min.js', 'json2.min.js']
认为图像将根据该评论被缓存。
编辑更多信息:
JavaScript 是我编写的自定义 JS。基本上,我有一个自定义 JS 项目,它可以构建并将自身复制到 Ruby on Rails 目录中。在这个自定义 JS 中,我做了类似 img.src = "mydomain.com/assets/subdir1/subdir2/myimage.png"; 这可行,但是图像不会被 RoR 缓存。也许有一种方法可以告诉 RoR 在 subdir1 中递归找到的每个图像都应该是可缓存的?– 杰夫刚刚编辑
另一个编辑:
也许我可以编写自己的处理程序来服务文件并说它们应该被缓存?
或者在他们的文件夹中放置一个特殊的配置文件(比如 .htaccess 用于 Apache 服务器?)
当然有办法做到这一点......