Rails Materialisecss,未定义coffeescript函数

时间:2016-12-15 20:16:00

标签: ruby-on-rails coffeescript materialize

我在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未定义&#39;。

这是我第一次尝试在CoffeeScript中编写内容而我不知道为什么没有定义displayButton。

请帮帮我

1 个答案:

答案 0 :(得分:1)

这对我来说似乎都很好。我认为唯一可能是问题的是范围。也许试试window.displayButton = ->@displayButton = ->。这样他们应该可以在那里使用。

我接下来的问题是你安装的宝石(需要咖啡轨)以及咖啡文件的位置。