【发布时间】:2011-10-04 20:16:37
【问题描述】:
在 rails 3.1 中使用 coffeescript、jQuery 和 sprockets,coffeescript 文件被编译成如下块:
(function() {
var a;
var b;
var c;
foo = function() {
alert("foo");
}
bar = function() {
alert("bar");
}
}).call(this);
这似乎将函数 foo 和 bar 移出全局范围,因此 foo 可以调用 bar,但不能从 html 代码中调用它们。当我尝试从 select onchange 元素调用 foo 时,我得到一个“找不到变量:foo”。
目前的解决方法是将所有全局可用的函数移至 .js 文件。但正确的做法是什么?
谢谢
【问题讨论】:
-
我的做法和 Dogbert 一样,你可能想看看其他选项(包括这个)vimeo.com/24391448
标签: javascript jquery coffeescript ruby-on-rails-3.1 sprockets