Rails Materializecss,coffeescript 函数未定义

Rails Materializecss, coffeescript function is not defined

我在 JavaScript 中有以下代码有效

function displayButton() {
 var options = [
  {
   selector: '#news', 
   offset: 20, 
   callback: function(el) {
     $('#more-video-btn').hide();
     $('#more-news-btn').show();
   }
  },
  {
   selector: '#video', 
   offset: 20, 
   callback: function(el) {
     $('#more-news-btn').hide();
     $('#more-video-btn').show();
   }
  }
 ];

 Materialize.scrollFire(options);
}

并尝试转换为 CoffeeScript

我做的是

displayButton = () ->
  options = [
    selector: '#news'
    offset: 20
    callback: (el)->
      $('#more-video-btn').hide()
      $('#more-news-btn').show()
  ,
    selector: '#video'
    offset: 20
    callback: (el)->
      $('#more-news-btn').hide()
      $('#more-video-btn').show()
  ]

  Materialize.scrollFire(options)

当我从视图中调用 displayButton 时

<script type="text/javascript">
  $(window).scroll(function(e) {
    displayButton();
  });
</script>

我得到 'displayButton is not defined'。

这是我第一次尝试用 CoffeeScript 写东西,我不知道为什么没有定义 displayButton。

请帮帮我

我觉得一切都很好。我看到的唯一可能有问题的是范围。也许试试 window.displayButton = ->@displayButton = ->。这样他们应该在那里可用。

我的下一个问题是您安装了哪些 gems(需要 coffee-rails)以及您的 coffee 文件在哪里。