在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
要检查三件事。
-
你的回购中有
.slugingore
文件吗? 如果是这样,请确保*.png
没有条目 -
你
gem 'rails_12factor'
有gem 'rails_12factor'
gem吗? https://github.com/heroku/rails_12factor -
在
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
这就是全部,我希望有人能帮助这个简单的解决方案。