私が望むのは非常に単純です。特定の css ファイル (画像アセットを参照するため、アセット パイプラインを通過する必要がある) を除くすべてのアセットをプリコンパイルする必要があります。その css ファイルをプリコンパイルから除外するにはどうすればよいですか?
2 に答える
あなたが望むものに応じて、いくつかの可能な答えがあります。あなたが何を求めているのかよくわかりません。
app/assets にある場合は、アセット パイプラインを通過して利用できるようにするために、そこにあるものが本当に必要です。プロダクションでは、アセット パイプラインの一部であるすべてのアセットをプリコンパイルする必要があります。また、アセットが変更されるたびに、プロダクション モードで再コンパイルする必要があります。
アセット名にサフィックスscss
またはsass
サフィックスが付いていない場合、scss/sass コンパイラを通過しませんが、ファイル名のフィンガープリンティング、gzip などのためにアセット パイプラインを通過します。
アセットをアセット パイプラインにまったく通過させたくない場合は、アセットを実際に入れることはできませんapp/assets
。代わりに入れる必要がありpublic
ます。次に、それへの URL を生成する方法がわかりにくくなります。最善の方法は を使用することpublic_path + "/subdir/foo.css"
です。
しかし、それがあなたの求めているものかどうかはわかりません。画像パスを参照するアセット ファイルがある場合は、通常、アセット パイプラインを介して絶対に必要です。これらの画像アセットの URL を適切に入力するのはアセット パイプラインだからです。アセット ファイルで Rails の asset_path ヘルパーを使用して、画像への URL を生成します。ファイルの最後に を付けて.erb
、ERB コードを使用できます<%= asset_path('my_asset.css') %> in it it. Or if it's sass,
。asset_path` は既に rails sass に組み込まれている可能性があります。
私はあなたが抱えている問題を正確に理解していませんが、あなたが求めているものは実際にはあなたが必要としているものではないかもしれません. Rails Asset Pipeline ガイドを確認しましたか? それはかなりまともです。http://guides.rubyonrails.org/asset_pipeline.html