3

最近、古いアプリをRuby onRails3.2.9にアップグレードしました。アセットパイプラインを有効にしているときに、次のようにヘルパーを使用してフィンガープリントされた画像ファイルのみを読み込むことができるようにcss.scssファイルをに変更しました。css.scss.erb

`background: url(<%= asset_path "wishlist.png" %>)`

これはスタンドアロンファイルで機能しますが、によってcss.scss.erbファイルをインポートする必要がある場合screen.css.scss、次のエラーが返されます。

`Invalid CSS after "...d: url(": expected ")", was "<%= asset_path ..."

この質問で提示されたすべての提案を試しましたが、アプリにフィンガープリントファイルをロードさせる際のエラーを回避するものはありません。

解決策はありますか?

前もって感謝します。

4

3 に答える 3

2

問題は、 Ruby on Rails Guide to theAssetPipelineで提供されているsass-helpersがアンダースコアの代わりにハイフンを使用していたことでした。すべてをimage_path代わりにimage-path(など)に変更すると、次のように正常に機能するはずです。

background: url(image_path("wishlist.png"));

于 2012-12-06T20:55:53.990 に答える
0

これは直接的な解決策ではありませんが、sass-railsを使用している場合は、ここで説明するように、sass-railsが提供するアセットパスヘルパーを使用できます。

于 2012-11-29T22:35:16.023 に答える
0

このリンクを試してみてください:http: //guides.rubyonrails.org/asset_pipeline.html

また、宝石が更新されているかどうかを確認する必要があります。「load'deploy/assets'」をCapfileに追加してみてください(引用符なし)

上記のいずれも機能しない場合は、開発環境でデバッグをオフにしてみてください:config.assets.debug = false(environments / development.rbでそれを実行してください)

そうすれば、デプロイする必要なしに、コードをより自由に検査することができます。

これがお役に立てば幸いです。問題が解決したら結果を共有してください!;)

于 2012-11-30T15:45:11.463 に答える