首页 文章

新的图像不在Rails中渲染3.1

提问于
浏览
0

我刚刚在assets / images / loading.gif中为我的网站添加了一个新的加载轮 . gif确实可以在开发中使用,但在 生产环境 中,浏览器会呈现一个损坏的图像图标,没有错误 . 服务器将文件显示为0字节,但是当我在终端中找到该文件时,我可以看到它是3.2k . 来自资产/图像的其他图像确实有效 . 在搜索之后,我尝试了几个方面,包括在我的配置中预编译和更改行,但到目前为止,没有一个工作 . 它可能是权限还是缓存问题?

Solved:

这个问题是一个引用问题 . 我最初在直接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

    在我升级到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
    ...
    

相关问题