内のHTMLからJavaScriptの関数を呼び出すと、レール3.1のスプロケットは、CoffeeScriptのファイルがブロックにコンパイルしてあるように:のCoffeeScript、jQueryのを使用して、レール3.1
(function() {
var a;
var b;
var c;
foo = function() {
alert("foo");
}
bar = function() {
alert("bar");
}
}).call(this);
これはグローバルスコープ外の関数fooとbarを移動しているようです、barはfooによって呼び出すことができますが、どちらもhtmlコードから呼び出すことはできません。 select onchange要素からfooを呼び出そうとすると、「変数を見つけることができません:foo」というメッセージが表示されます。
現時点での回避策は、すべてのグローバルに使用可能な機能を.jsファイルに移動することです。しかし、これを行う正しい方法は何ですか?
おかげ
私はDogbertと同じことをしますが、これを他のオプション(これを含む)についてチェックしたいかもしれません。http://vimeo.com/24391448 – house9