Javascript 包含在资源中时,Coffee脚本不起作用

Javascript 包含在资源中时,Coffee脚本不起作用,javascript,ruby-on-rails,coffeescript,Javascript,Ruby On Rails,Coffeescript,我有一些coffee脚本,在折叠列表时可以切换一些css类,但是当我将它放在/assets/javascripts目录下的一个单独的.js.coffee文件中时,它似乎不起作用,但是当我将它包含在HAML文件中时,它确实起作用。coffee脚本似乎可以编译并包含在页面的开头,但根本不起作用。有什么想法吗 $('#collapseTwo').on 'hidden.bs.collapse', -> if $('#collapseOne').hasClass('show')

我有一些coffee脚本,在折叠列表时可以切换一些css类,但是当我将它放在/assets/javascripts目录下的一个单独的.js.coffee文件中时,它似乎不起作用,但是当我将它包含在HAML文件中时,它确实起作用。coffee脚本似乎可以编译并包含在页面的开头,但根本不起作用。有什么想法吗

  $('#collapseTwo').on 'hidden.bs.collapse', ->
    if $('#collapseOne').hasClass('show')
      $('#collapseOne').addClass('extended')
    $('#collapseOne').removeClass('regular')
    $('#collapseTwo').removeClass('regular')
    $('#collapseTwo').removeClass('extended');

  $('#collapseTwo').on 'show.bs.collapse', ->
    unless $('#collapseOne').hasClass('show')
      $('#collapseTwo').addClass('extended')
    if $('#collapseOne').hasClass('extended')
      $('#collapseOne').removeClass('extended')
      $('#collapseOne').addClass('regular')
      $('#collapseTwo').addClass('regular');

  $('#collapseOne').on 'hidden.bs.collapse', ->
    if $('#collapseTwo').hasClass('show')
      $('#collapseTwo').addClass('extended')
    $('#collapseTwo').removeClass('regular')
    $('#collapseOne').removeClass('regular')
    $('#collapseOne').removeClass('extended');

  $('#collapseOne').on 'show.bs.collapse', ->
    unless $('#collapseTwo').hasClass('show')
      $('#collapseOne').addClass('extended')
    if $('#collapseTwo').hasClass('extended')
      $('#collapseTwo').removeClass('extended')
      $('#collapseOne').addClass('regular')
      $('#collapseTwo').addClass('regular');

gem'coffee-rails'
添加到您的gem文件中,然后运行
bundle-install

请记住
需要application.js中的coffeescript文件,如
/=require moment


添加
$(文档)。在“ready page:load”上,将->
作为咖啡文件的第一行。

Gem已经存在,并且application.js中需要该文件,我可以在页面的“sources”选项卡中看到该文件的编译js版本,也可以看到它包含在页面的标题中。尝试添加
$(文档)。在“ready page:load”上,->
作为coffee文件的第一行。请确认添加已解决问题,谢谢。这正常吗?是的,这很正常,javascript函数应该在页面可读性之后运行。我想这是有道理的,我发誓我以前做过一百次,但从来都不需要这一行。哦,好吧,再次谢谢你。