Tech Racho エンジニアの「?」を「!」に。
  • 開発

[Rails 5] developmentモードのアセットログはデフォルトでオフになる(翻訳)

こんにちは、hachi8833です。
久しぶりにBigBinaryシリーズの翻訳記事をお届けします。

元記事

確認に使った環境

developmentモードのアセットログはデフォルトでオフになる(翻訳)

以前のRailsでは、developmentモードで開発中に以下のようなアセットログが大量に表示されるのが普通でした。

Started GET "/assets/application.self-4a04ce68c5ebf2d39fba46316802f17d0a73fadc4d2da50a138d7a4bf2d26a84.css?body=1" for 127.0.0.1 at 2016-09-02 10:23:04 +0530
Started GET "/assets/bootstrap/transition.self-6ad2488465135ab731a045a8ebbe3ea2fc501aed286042496eda1664fdd07ba9.js?body=1" for 127.0.0.1 at 2016-09-02 10:23:04 +0530
Started GET "/assets/bootstrap/collapse.self-2eb697f62b587bb786ff940d82dd4be88cdeeaf13ca128e3da3850c5fcaec301.js?body=1" for 127.0.0.1 at 2016-09-02 10:23:04 +0530
Started GET "/assets/jquery_ujs.self-e87806d0cf4489aeb1bb7288016024e8de67fd18db693fe026fe3907581e53cd.js?body=1" for 127.0.0.1 at 2016-09-02 10:23:04 +0530
Started GET "/assets/jquery.self-660adc51e0224b731d29f575a6f1ec167ba08ad06ed5deca4f1e8654c135bf4c.js?body=1" for 127.0.0.1 at 2016-09-02 10:23:04 +0530

ありがたいことに、当時からquiet_assets gemがあったので、これをアプリにインクルードすることでdevelopmentモードでのアセットパイプラインログ出力をオフにできました。

Started GET "/assets/application.js" for 127.0.0.1 at 2016-08-28 19:35:34

Rails 5でquiet_assetsが組み込まれた

Rails 5では、quiet_assets gemが正式に組み込まれました。

新しくconfig.assets.quietという設定が追加され、デフォルトでtrueになっています。これにより、Sprockets::Rails::QuietAssetsという名前のRackミドルウェアが読み込まれます(#355)。このミドルウェアは、リクエストが現在のアセットprefixのパスと一致するかどうかをチェックし、一致する場合はリクエストをログに出力しません。

もうアセットログ出力を止めるためにgemを自分で導入する必要はありません。

developmentモードでは、config.assets.quietはデフォルトでtrueに設定される(#25351)ので、アセットログ出力を自分で止める必要はありません。

以前のバージョンのRailsとの互換性

この機能はsprockets-rails 3.1.0にもバックポートされたので、Rails 4.2.7でも利用できます(#25397)。

関連記事


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。