Heroku不提供背景图片,localhost呢?

我的rails应用程序有问题(Rails 4.0.0.rc2,ruby 2.0.0p195)。

行为很奇怪:我的本地主机正确显示背景图片,Heroku没有。

在heroku日志中,我可以看到以下错误:

ActionController::RoutingError (No route matches [GET] "/assets/piano.jpg"):

我通过在custom.css.scss中插入以下代码来创建背景图像:

.full { 
  background: image-url("piano.jpg") no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

我用下面的代码触发了这一点,我在静态页面上有这样的代码:

<body class="full">
....
</body>

我已经有生产中的宝石了:

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

在production.rb中,我将下列设置设置为true:

config.serve_static_assets = true

但是,该图像未显示。 你能帮我吗?


确保你在production.rb文件中设置了这些

config.cache_classes = true
config.serve_static_assets = true
config.assets.compile = true
config.assets.digest = true

我已经找到了解决这个问题的方法:

RAILS_ENV=production bundle exec rake assets:precompile

在我的控制台中运行此命令后,图片显示正确。

以前我只尝试过运行:

rake assets:precompile

这一点没有帮助。 您必须在命令中解决生产环境。

我希望这可以作为其他用户的参考。


我需要结合其他答案为我工作。

我需要使用@ Brock90的生产配置设置,并像Alex提到的那样预先编译资产。

链接地址: http://www.djcxy.com/p/78015.html

上一篇: Heroku does not serve background image, localhost does?

下一篇: Rails 4 images not loading on heroku