相关疑难解决方法(0)

使用Rails 3.1和Coffeescript"找不到变量"错误

我的应用程序中有一些视图,它引用了我的application.js文件,其中包含我在整个应用程序中使用的函数.

在使用3.1的边缘版本之后,我刚刚安装了Rails 3.1版本候选版本.直到我安装RC我没有任何问题,但现在我收到此错误:

ReferenceError:找不到变量:indicator_tag

indicator_tag是我在application.js中定义的函数.我在javascript文件中注意到的唯一区别是现在我的所有函数都包含在:

(function() { ... }).call(this);
Run Code Online (Sandbox Code Playgroud)

我理解这是针对变量范围的吗?但它可能阻止我的页面使用这些变量吗?在有人要求之前,我确保我的include标签中的javascript路径是正确的.

javascript ruby-on-rails coffeescript

22
推荐指数
2
解决办法
5771
查看次数

如何在Rails 3.1中为CoffeeScript使用选项"--bare"?

有人知道如何在Rails 3.1中使用此选项?现在CoffeScript .call(this)在每个文件上放置一个函数,但我想删除它.

编辑:" 无法找到变量"错误与Rails 3.1和Coffeescript "和" 模式为CoffeeScript模块 "有我想要的.我将改变我的全局变量以使用@global范围.

ruby-on-rails coffeescript

13
推荐指数
1
解决办法
4661
查看次数

在Rails 3.1中从html调用javascript函数

在rails 3.1中使用coffeescript,jQuery和链轮,将coffeescript文件编译为以下块:

(function() {
 var a;
 var b;
 var c;
 foo = function() { 
  alert("foo");
 }
 bar = function() {
  alert("bar");
 }

}).call(this);
Run Code Online (Sandbox Code Playgroud)

这似乎将函数foo和bar移出了全局范围,因此bar可以由foo调用,但不能从html代码中调用。当我尝试从select onchange元素调用foo时,出现“找不到变量:foo”。

现在的解决方法是将所有全局可用的功能移至.js文件。但是,这样做的正确方法是什么?

谢谢

javascript jquery coffeescript ruby-on-rails-3.1 sprockets

2
推荐指数
1
解决办法
848
查看次数