Rails 3.1 (rc5) を使用しており、レール (またはスプロケット) に含めたすべての coffeescript ファイルが、上部と下部で JavaScript を初期化する際に追加されていることに気付きました。つまり、空の .js.coffee ファイルが次のように出力されます。
(function() {
}).call(this);
これは、JavaScript のスコープを台無しにしてしまうため、いらいらさせられます (自分が何をしているのか本当にわからない場合を除きます)。私は通常、すべての JavaScript クラスを別々のファイルに分けています。関数コードでクラスをラップすると、クラスが互いに範囲外になるだけだと思います。または、少なくとも、未定義のエラーが継続的に発生しているため、それらにアクセスできないようです。
これをオーバーライドする方法はありますか?スプロケットのこのファイルは、このコードの追加に関係しているようです: https://github.com/sstephenson/sprockets/blob/master/lib/sprockets/jst_processor.rb
関数ですべてをラップすると、DOM がロードされるまで何も実行されないため、利便性が向上するように思えるかもしれませんが、私が知る限り、それは私のスコープを台無しにします。