Rails中没有渲染的新图像3.1

时间:2012-03-28 13:57:04

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我刚刚在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") %>

不确定为什么它最初在我的本地工作。

1 个答案:

答案 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
...