これにより、すべての単一ページにすべての JavaScript が読み込まれるというのは本当ですか?
はい、これはそれがすることです。Rails は、CoffeeScript を JavaScript にコンパイルし、それらを連結して (本番環境で) 1 つのファイルに縮小します。そのファイルはすべてのページに含まれます。
なぜなら、ユーザーが「カテゴリ」ページにいるときに、「製品」CoffeeScript をブラウザーにロードしたくないからです...
そうです。それが要点です。この 1 つのバンドルされた JavaScript ファイルがすべてのページに読み込まれます。このように、ブラウザは最初のリクエスト時にサイト全体の JavaScript を 1 つのファイルとして一度ダウンロードし、他のすべてのページでキャッシュされたコピーを使用します。
...そのコードは使用されないため
すべてのページに余分なコードを含めても、実行してキャッシュから読み込まなければ、文字通りコストはかかりません。一方、外部 JavaScript のリクエスト数を最小限に抑えているため、大幅な節約になります。つまり、スクリプトをすぐに実行でき、DOM 対応のイベントがはるかに早く発生します。
これが安全であること、および影響を受けるはずのサイトの部分のみをコードが対象とすることを確認するのはあなた次第です。通常、これを行うには、ID で特定の要素を選択し、ID がページ間で共有されないようにし、特別な意味を持つクラスを、それらを持つべきではない要素に適用しないようにします。
すべてではなく、特定のビューに必要な CoffeeScripts のみが読み込まれるようにする方法はありますか?
いいえ、ページごとに個別のマニフェスト ファイルを作成しないと、アセット パイプラインを使用する主な目的の 1 つが無効になります。これをしないでください。縮小された JavaScript バンドル ファイル全体をすべてのページに含めることは、正しく、望ましく、意図的です。