0

私の Heroku レール アプリで。この指示に従い、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"

出力 URL は次のようになります: staging-bucket.s3.amazonaws.com/assets/nav_arrows-digest.png

しかし、実際の出力は以下のようになります: .s3.amazonaws.com/assets/nav_arrows-digest.png

asset-path を asset-url に変更しましたが、うまくいきませんでした。どうすればこれを修正できますか?

4

2 に答える 2

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 も省略します。

于 2013-03-14T16:28:04.467 に答える
0

確認する必要がある 2 つの点:

  • 環境変数 ENV['FOG_DIRECTORY'] は nil の可能性があります。次のコマンドで環境変数を確認できます。

    heroku config --app

詳細: https://devcenter.heroku.com/articles/config-vars

  • Heroku で実行されているアプリのモード。デフォルトでは、ステージング モードを構成している間、アプリは運用モードで実行されます。この記事に従ってモードを変更できます: https://devcenter.heroku.com/articles/multiple-environments
于 2012-09-20T03:33:08.630 に答える