私の答えは Rails 3.1rc4 に適用されます。他のバージョンと同じように機能するかどうかはわかりません。
実際には、.js ファイルが app/assets/javascripts/ または vendor/assets/javascripts/ にあるかどうかに関係なく、すべての require ステートメントを app/assets/javascripts/application.js に配置できます。
そのようです:
// this is in app/assets/javascripts/application.js
//= require modernizr-2.0
//= require jquery
//= require jquery_ujs
//= require jqueryui-1.8.12
//= require jquery.easing-1.3
//= require jquery.noisy
//= require jquery.jslide-1.0
//= require respond
//= require smoke
//= require_tree
ここに require_tree を含めたのは、個々のコントローラー (pages.js.coffee、users.js.coffee) 用の他の JavaScript ファイルと、サイト全体のもの (site.js.coffee) 用の一般的な JavaScript ファイルがあるためです。
一方、ファイル構造は次のとおりです。
app/
├── assets
│ ├── javascripts
│ │ ├── application.js
│ │ ├── pages.js.coffee
│ │ ├── users.js.coffee
│ │ └── site.js.coffee
│ └── stylesheets
└── plugins
vendor/
├── assets
│ ├── javascripts
│ │ ├── jquery.easing-1.3.js
│ │ ├── jquery.jslide-1.0.js
│ │ ├── jquery.noisy.js
│ │ ├── jqueryui-1.8.12.js
│ │ ├── modernizr-2.0.js
│ │ ├── respond.js
│ │ └── smoke.js
│ └── stylesheets
└── plugins
これにより、ベンダー ライブラリのロード順序を制御できるようになり (通常、これは非常に重要です)、通常は順序が重要ではない内部 JavaScript について心配する必要がなくなります。
さらに重要なことは、よく使用される 1 つのファイル内ですべての require ステートメントを制御することです。