2012-09-19 145 views
0

在我的Heroku rails應用程序中。我遵循這一指示並實施CDN。 https://devcenter.heroku.com/articles/cdn-asset-host-rails31#configurationCDN&Heroku:背景圖片不顯示

它幾乎工作正常,但我在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/assets/nav_arrows-digest.png

我將asset-path更改爲asset-url,但沒有奏效。 我該如何解決這個問題?

回答

0

兩件事情你應該檢查:

  • 環境變量ENV [ 'FOG_DIRECTORY']可能是零。你可以用命令檢查ENV變量:

    Heroku的配置--app

更多細節:https://devcenter.heroku.com/articles/config-vars

+0

ENV ['FOG_DIRECTORY']正在處理其他圖像。只有我在CSS文件裏面寫的背景圖片沒有出現。 –

+0

您是否嘗試過背景:transparent url(「<%= asset_path('nav_arrows.png')%>」)? –

+0

是的,我已經嘗試過,但它也不起作用。 –

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。