在Heroku / Ruby on Rails上找不到PNG

在Heroku上部署后未加载PNG文件!

我正在Heroku上部署一个项目,所有资产都运行得很好,包括图像(jpgs,jpegs和gifs),但PNG文件没有加载! 一般页面显示:

GET damainname.com/assets/namespace/my_image-867450b295e2051d381123c16c51548e.png 404 (Not Found)

其他图像文件扩展名(JPG,JPEG和GIF)正常加载。

我在用:

  • Heroku雪松(使用和不使用资产进行测试:在本地进行预编译)
  • ruby 1.9.3p448(2013-06-27修订版41675)[i686-linux]
  • Rails 3.2.11

production.rb:

 config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' config.serve_static_assets = true config.assets.compress = true config.assets.compile = false config.assets.digest = true 

application.rb中:

 config.assets.precompile += ['application.css', 'application.js', 'admin.css', 'admin.js'] config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif] config.assets.initialize_on_precompile = false 

要检查三件事。

  1. 你的回购中有.slugingore文件吗? 如果是这样,请确保*.png没有条目

  2. gem 'rails_12factor'gem 'rails_12factor'gem吗? https://github.com/heroku/rails_12factor

  3. config/application.rb ,将config.assets.version设置为等于高于当前值的浮点数。 IE浏览器。 从1.0增加到1.1

我之前用* .jpg遇到过这个问题 – 我能找到的唯一解决办法就是在config/application.rb增加config.assets.version = '1.0' ,强制生成新资产,所有旧资产到期。

我问了一个类似问题的答案,然后我找到了这个条目,但如果它有助于我的解决方案是如此简单,在我的ruby on rails项目中给出了下一个错误

 GET http://localhost:3000/assets/images/ui-icons_555555_256x240.png 404 (Not Found) 

我在我的项目中有图像

 app/assets/images/ui-icons_555555_256x240.png 

我只是在里面用png文件创建另一个名为images的目录

 app/assets/images/images/ui-icons_555555_256x240.png 

这就是全部,我希望有人能帮助这个简单的解决方案。