1

私のアプリには、アプリプロジェクトフォルダーの外にあるgemフォルダーに常駐するgemから作成されたscssファイルがあります。

ローカルで問題なく動作する場合、次のように正しい画像へのパスがあります:(クロームの要素インスペクターからコピー)

media="all"
.social-share-button-twitter {
display: inline-block;
width: 16px;
height: 16px;
background: url("/assets/sprites/social-share-button.png") 0px -48px no-repeat;
}

しかし、herokuにデプロイすると、image-pathが解決されないため、次の結果が得られます。

media="all"
.social-share-button-twitter {
display: inline-block;
width: 16px;
height: 16px;
background: url(image-path("sprites/social-share-button.png")) 0px -48px no-repeat;
}

上記のURLに注意してください。もちろん、png画像を指していません。

これがscssファイルでの方法です。

.social-share-button-baidu { display:inline-block; width: 16px; height: 16px; background: url(image-path('sprites/social-share-button.png')) 0px 0px no-repeat }

デプロイされたアプリで間違ったパスを取得する理由はありますか?

Railsにgemフォルダーのファイルの代わりに別のscssファイルを使用させるにはどうすればよいですか?application.cssに別のファイルを設定しようとしましたが、railsはgemフォルダーにあるファイルを使用し続けます。

何か案が ?なぜローカルで正常に動作するのですか?

4

1 に答える 1

3

それがscssであり、コンパスではない場合は、次のようになります(スプライトフォルダーがscssファイルと比較される場所を確認してください)

.social-share-button-baidu 
{ 
   display:inline-block; 
   width: 16px; 
   height: 16px; 
   background: url(../sprites/social-share-button.png) 0px 0px no-repeat;
}

../ 1つのフォルダーから移動しますが、そこからスプライトフォルダーが表示されますか?

于 2012-12-12T13:21:02.040 に答える