我刚刚在assets / images / loading.gif中为我的网站添加了一个新的加载轮。 gif确实可以在开发中使用,但在生产环境中,浏览器会呈现一个损坏的图像图标,没有错误。服务器将文件显示为0字节,但是当我在终端中找到该文件时,我可以看到它是3.2k。来自资产/图像的其他图像确实有效。搜索之后,我尝试了几个方面,包括在我的配置中预编译和更改行,但到目前为止,没有一个工作。可能是权限还是缓存问题?
解决:
问题是引用问题。我最初在直接html中引用了gif,就像这样......
<img src="assets/loading.gif" id="loading-indicator" style="display:none" />
但是当我使用image_tag并更改了文件路径时,它现在可以正常工作了。
<%= image_tag("loading.gif", :id => "loading-indicator", :style => "display:none") %>
不确定为什么它最初在我的本地工作。
答案 0 :(得分:0)
在我升级到Heroku上的Cedar之后,同样的问题发生在我身上,所以我猜你正在使用Heroku在Cedar上托管你的Rails 3.1应用程序。
如果是这样,请在config / environments / production.rb文件中尝试注释掉以下行:
config/environments/production.rb
===================================
...
config.action_dispatch.x_sendfile_header = "X-Sendfile"
...
用这个新行替换它:
config/environments/production.rb
===================================
...
config.action_dispatch.x_sendfile_header = nil # For Heroku
...