在开发环境中一切运作良好。并且使用Capistrano正常部署应用程序。资源(javascript和css)似乎被完全预编译,并且每个资源,包括图像,都被赋予了“指纹”。问题是,在视图中使用
我们在生产环境中得到渲染的HTML:
我希望你能够替换成我所期望的内容,应该是:
image_tag("image-name.png")
时,生产环境中创建的html不包含“指纹”。我们在生产环境中得到渲染的HTML:
<img alt="Image-name" src="/assets/image-name.png" />
我希望你能够替换成我所期望的内容,应该是:
<img alt="Image-name" src="/assets/image-name-b89cae2830c2901f844c353b3f3942fe.png" />
那么我们搞砸了Rails 3.1中的哪些配置选项呢?
编辑
有问题的图像似乎是我们使用的第三方Colorbox图像查看工具中包含的那些。Rails 3.1正在为其资产进行指纹处理(border.png等),但显然,该javascript库的源代码并没有使用像image_tag
这样的助手。因此,在生产环境中,它仍然在寻找名为/assets/colorbox/border.png
的图片。目前,这些图片位于/vendor/assets/images中,并在开发中正常工作。有没有办法防止仅对这些图片进行“指纹处理”?
config.assets.digest
为* true ,而在其他任何地方都为 false *。或者我理解错了吗?!? - Meltemiconfig.assets.digest = true
添加到production.rb
中似乎只有部分帮助。它使一些图片(我的)正常工作。但是我们使用的第三方 JavaScript 工具中包含的一些图片仍然“损坏”。(请参见主帖中的编辑说明) - Meltemi