0

我目前在我的 Rails 3.2.2 应用程序中嵌入了 OpenLayers。OpenLayers 的图像位于 中/vendor/assets/images/openlayers,并且已正确提供。

在另一个文件夹中,我使用 Photoshop 编辑了其中一些图像,以更改按钮的色调。现在,当我替换图像时,Rails 将不再为它们提供服务,而是只显示这个“损坏的图像”图标。

之前和之后(请注意,我没有修改形成缩放栏背景的图像):

根据 rails 控制台,图像被提供:

Started GET "/assets//openlayers/zoom-minus-mini.png" for 127.0.0.1 at 2012-04-15 23:09:04 +0200
Served asset /openlayers/zoom-minus-mini.png - 200 OK (0ms)

...但是在我的浏览器中,当我浏览到该 URL 时,它只会再次显示“损坏的图像”图标。如果我将图像从我的文件系统拖到 Chrome,它会正确显示。

当我执行git checkout vendor/assets/images/openlayers并刷新浏览器(跳过缓存)时,一切都恢复正常。

是什么赋予了?

4

1 回答 1

0

我发现在适当位置编辑原始图像可以解决问题,而不是将它们复制到.vendor/assets/images

尽管它们在 Finder、Photoshop、Chrome、Safari 和其他工具中显示良好,但 Rails 出于任何原因拒绝为它们提供服务。

如果有人对为什么会发生这种情况有更技术性的解释,请随时分享!

于 2012-04-15T21:26:10.247 回答