セクション 2.2.2 「CSS と Sass」image-url('delete.png')
で、sassを入れるように言われました。そして、私は持っています。
ただし、CSSのようなものを生成しています
background-image: url(/images/delete.png)
どこにでも生成されるべきだと言われたものの代わりに、正しくて明白なもの、
background-image: url(/assets/delete.png)
何。一体。
私はこれがどこから来ているのかを理解しようと文字通り何日も費やしました.
この動作につながる関連設定の要点を次に示します。これは、以前のバージョンのコード ベースの同じファイルの要点です(アセット パイプラインを実装した直後で、実際には約 1 週間動作した後、この苛立たしい動作が発生しました)。違いがわかりますか?これを引き起こしていると考えられる他のファイルはありますか?
ノート
sass-rails
新しいバージョンではStack level too deep!
プリコンパイル時にエラーが発生していたため、意図的に古いバージョンの を使用しています。- コンパスを使用しています。
回避策での 2 つのハッキングの試み
実際にアセット パイプラインのトラブルシューティングを行うのはちょっと面倒だからです。
1: /images に画像を入れる
public/images
すべての画像を移動して、それをロードパスとして追加しようとしました。これは dev で機能しました (画像は または のいずれかでアクセスできます/assets
)/images
が、本番用にプリコンパイルするとフィンガープリント化された画像が/assets
(obvs) にのみ配置されるため、sass-rails が に配置するとurl(/imagse/delete-120398471029384102364.png)
、それが見つかりません。
2: /public/images を /public/assets へのシンボリックリンクにする
これはおそらく本番環境では機能しますが、開発環境では /assets フォルダーが存在しないため、url(/images/delete.png)
ディレクティブによって画像が見つかりません。