Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从rails中的不同coffeescript文件调用函数_Javascript_Jquery_Ruby On Rails_Coffeescript - Fatal编程技术网

Javascript 从rails中的不同coffeescript文件调用函数

Javascript 从rails中的不同coffeescript文件调用函数,javascript,jquery,ruby-on-rails,coffeescript,Javascript,Jquery,Ruby On Rails,Coffeescript,votable.coffee: set_votable_hooks = (vote_area_name) -> ... window.Votable ?= {} window.Votable.set_votable_hooks = (vote_area_name) -> ... 问题.咖啡: vote_area_name = 'xyz' $(document).ready(set_votable_hooks(vote_area_name)) load_votable

votable.coffee:

set_votable_hooks = (vote_area_name) ->
  ...
window.Votable ?= {}

window.Votable.set_votable_hooks = (vote_area_name) ->
  ...
问题.咖啡:

vote_area_name = 'xyz'
$(document).ready(set_votable_hooks(vote_area_name))
load_votable = ->
  window.Votable.set_votable_hooks('.question-vote-area')

$(document).ready(load_votable)

我希望在文档就绪时调用该函数。我知道每个coffee文件都放在一个函数中,所以它的内容在其他函数中是不可用的。我读到过这样的解决方案:将set_votable_钩子设置为全局或使用名称空间,但无法管理它们工作,因为我是js新手。但据我所知,首选的解决方案是使用名称空间,以避免污染全局对象。

发现,我的第一个错误是将参数分配给回调函数,因此我最终得到:

votable.coffee:

set_votable_hooks = (vote_area_name) ->
  ...
window.Votable ?= {}

window.Votable.set_votable_hooks = (vote_area_name) ->
  ...
问题.咖啡:

vote_area_name = 'xyz'
$(document).ready(set_votable_hooks(vote_area_name))
load_votable = ->
  window.Votable.set_votable_hooks('.question-vote-area')

$(document).ready(load_votable)
并在application.js中重新定义了咖啡文件包含:

...
//= require votable
//= require_tree .
...
不包括votable前一页的最后一步问题