2011-07-13 25 views
4

私はRails 3.1のアセットパイプラインを使用していますが、ローカルホストの開発環境で問題なく動作するようですが、エンジンヤードで大きな問題が発生しています。Rails 3.1アセットパイプラインとキャッシング

ここに私の基本的な問題があります。

私は私のSCSSファイルのいずれかで、背景用画像含める場合:

 a { 
     color: #3c7f8b; 
     font-weight: bold; 
     padding-left: 35px; 
     font-size: 13px; 
     display: block; 
     background: white url(shade.png) top right; 
     &:hover { 
      color: #222222; 
      background: white url(shade2.png) top right; } 
     &.on { 
      color: #222222; 
      background: white url(shade2.png) top right; } } } 

を私は次の問題に遭遇:私は私の資産をプリコンパイルしているにもかかわらず、ブラウザがある/assets/shade.png代わりの/assets/shade-FINGERPRINT.pngを要求存在する実際のファイル

私の.ssssファイル内の資産フォルダ内の画像を参照することでこの問題を解決できるものは誰か知りませんか?

+0

いくつかのドキュメントはベータ版であり、そこではいくつかの良いもの - http://ryanbigg.com/guides/asset_pipeline.html – house9

+0

それは変わります実際のアセットパイプラインではなく、実際には展開戦略に問題がありました。 – TheDelChop

+0

@TheDelChop、配備戦略に関する問題の詳細を投稿できますか? – mandreko

答えて

2

この記事の「tybro0103」から答えをチェックアウト - Rails 3.1 and Image Assets

基本的にasset_pathヘルパーメソッドをscss.erbしてから使用するようにSCSSからファイルを変更

は前に事前コンパイル

を展開します

免責事項:私は自分自身を試していません

4

Rails 3.1でscssを使用する場合、画像を参照するにはurlではなくimage-urlを使用してください。

また、sass-railsがアセットメソッドをオーバーレイしてアセットパイプラインを操作するため、sass-railsの前にコンパスをロードするようにしてください。

最後に、あなたが展開するときに、資産のコンパイルを有効にするには

load 'deploy/assets' 

に追加して、展開にカピストラーノを使用している場合。

-1

qnm実際、私はimage_urlヘルパーにエラーがあると思います。彼らがそれを修正したかどうかはわかりませんが、私は、 "イメージ"が明示されている状態でasset_urlを使用することを推奨しました。

すなわちasset_url(「some.img」、「画像)資産パイプライン上の

関連する問題