在找不到app/assets/javascript中创建的CoffeeScript函数

rev*_*ver 24 javascript ruby-on-rails coffeescript ruby-on-rails-3

在我的CoffeeScript文件中clients.js.coffee,

myFunction = (variable) ->
Run Code Online (Sandbox Code Playgroud)

我在CoffeeScript中创建了一个函数app/assets/javascript.但是当我尝试调用该函数时,控制台向我显示错误,指出找不到函数.

我检查页面的来源,它显示脚本已加载:

<script src="/assets/clients.js?body=1" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

这是在脚本源中找到的内容:

(function() {
  var myFunction;

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

知道我错过了什么吗?我应该怎么做才能调用这个函数?

SMa*_*hew 57

要使其可以从外部访问,您需要做的就是在前面添加一个"@".这会将函数附加到窗口对象.

@myFunction = (variable) ->
Run Code Online (Sandbox Code Playgroud)


hou*_*se9 6

把它绑在窗户上

myFunction = (variable) ->
  alert('zzzzzzzz')

window.myFunction = myFunction
Run Code Online (Sandbox Code Playgroud)