別の質問で問題自体は解決したのですが疑問点が残ったままなので質問させてください
leaflet という JS ライブラリがあって
その中のCSS に url('images/spritesheet.svg') と相対パスがかかれています
ライブラリのファイル構成は
leaflet.js leaflet.css images/*.png images/*.svg
みたいな感じです
Rails ガイドにしたがってこれを vendor/assets において
application.css から require すると public/assets/application-<suffix>.css
という名前にプリコンパイルされてその中で images/* をよぶので
public/assets/images/* を参照にいってしまうけど当然そんなファイルはないので 404 になってしまう
public/assets/ はデプロイ時に消去されるので前持ってファイルをおいておくこともできない
プリコンパイルに画像ファイルをまぜてもサフィックスが付いて名前が変わってしまうので
Rails のヘルパーからでしか参照できない
ソースに手を入れて public 直下の絶対パスに書き換えるか
サフィックスのつかないプリコンパイラをいれるしかないのでしょうか?
Rails ガイドが推奨してる
「外部ライブラリは vendor/assets におく」
だと相対パスで別ファイルを参照しているものは一切使えなくなる気がするんですが
きれいな解決方法があったら知りたいです
あなたの回答
tips
プレビュー