31

簡単な Rails アプリケーションの開発を開始しました。数時間作業した後、どういうわけか、削除された css がまだ Web ページに適用されていることに気付きました。

この問題を修正するために、次のアクションを数回実行しました。

  1. サーバーの停止/起動
  2. レールサーバーを使う
  3. トルクボックスサーバーを使う
  4. ブラウザのキャッシュを削除

しかし、何も変わりません。非常に奇妙でした。新しい css 定義が適用されましたが、削除したものがまだそこにありました。というわけで、諦めて新しいプロジェクトを作ることにしました。

新しいプロジェクトをセットアップしました (その足場は最初のものと同じです)。ビューの 1 つを開くと、古いプロジェクトのスタイルも適用されました。http://guides.rubyonrails.org/asset_pipeline.htmlをもう一度調べて、その設定を見つけることにしました

#Expands the lines which load the assets
config.assets.debug = false

問題を解決します。しかし、このオプションは正確には何をしているのでしょうか? これが本当だったのに、なぜ古いプロジェクトの css が適用されたのですか?

4

2 に答える 2

43

このオプションの効果はこの投稿で詳しく説明されていますが、ここでも要約します。変更の価値はconfig.assets.debug、開発時のページ読み込み時間とデバッグの容易さの間の妥協点にあります。

基本的:

config.assets.debug = true: アセットは個別に提供され、開発中と同じように編成されます。SASS や CoffeeScript などの前処理された言語は、引き続きターゲット言語 (つまり、それぞれ CSS と JS) として表示されます。

config.assets.debug = falseapplication.css: アセットはや などのファイルにバンドルされますapplication.js。エラー スタック トレースの行番号が正しくなくなる可能性が高くなり、それらを元のコードにマップし直すのが難しくなります。

于 2013-12-31T15:25:43.993 に答える