こんにちは、hachi8833です。
久しぶりにBigBinaryシリーズの翻訳記事をお届けします。
元記事
確認に使った環境
- Railsバージョン: 5.0.2(5.0-stable)
- Rubyバージョン: 2.4.1p111
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)。
関連記事
- [Rails 5]実は不要なgem・使われなくなりつつあるgem(2017年版)
- [Rails 5] rails dev:cacheコマンドでdevelopmentモードでのキャッシュを簡単にオン・オフできる
- [Rails 5] コントローラの制約を受けずに任意のビューテンプレートをレンダリングする
- [Rails 5] rakeタスクがrailsコマンドでもできるようになった
- [Rails 5] Rails 5の新フレームワークデフォルト設定ファイルでアップグレード作業を軽減する
- [Rails 5] マイグレーション時にデータベースのカラムにコメントを追加する