すべてのcoffeescriptコンパイラがスクリプトを無名関数でラップするかどうかはわかりませんが、Railsが行っているのはそれです。このカプセル化を無効にするにはどうすればよいですか?
いくつかの初期化関数を1つのcoffeescriptファイルに入れてから、ページ上の<script>
タグからそれらの1つを呼び出します(各ページが異なる初期化子を呼び出すようにします)。初期化関数がカプセル化されている場合、これは不可能です。
Coffeescript初期化関数:
initializerA = -> console.log 'foo'
initializerB = -> console.log 'bar'
ページ上のコード:
<script>$(document).ready(initializerA)</script>
システム:コーヒーレール3.2.1、レール3.2.3、ルビー1.9.3