CDN& Heroku:背景图像没有显示出来

时间:2012-09-19 20:41:37

标签: ruby-on-rails heroku cdn

在我的Heroku rails应用程序中。我遵循这条指令并实施了CDN。 https://devcenter.heroku.com/articles/cdn-asset-host-rails31#configuration

它几乎正常工作,但我在css.scss.erb文件中写的背景图像没有显示出来。 我的文件和问题如下。

custom.css.scss.erb

.ap-sidebar .ap-nav li a span { 
   background: transparent url(asset-path('nav_arrows.png', image)) no-repeat 0 50%;
}

staging.rb

config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"

输出网址应为: staging-bucket.s3.amazonaws.com/assets/nav_arrows-digest.png

但确实输出如下: .s3.amazonaws.com /资产/ nav_arrows-digest.png

我将资产路径更改为asset-url,但它无效。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你应该检查两件事:

  • 环境变量ENV [' FOG_DIRECTORY']可能为零。您可以使用以下命令检查env变量:

    heroku config --app

更多详情:https://devcenter.heroku.com/articles/config-vars

答案 1 :(得分:0)

我找到了解决这个问题的方法。

只需改变一下:

.ap-sidebar .ap-nav li a span { 
   background: transparent url(asset-path('nav_arrows.png', image)) no-repeat 0 50%;
}

到此:

.ap-sidebar .ap-nav li a span { 
   background: transparent url('nav_arrows.png') no-repeat 0 50%;
}

css.scss.erb不起作用,所以我也从文件中省略了erb。