咖啡脚本包含在资产中时无效

时间:2017-04-03 05:27:02

标签: javascript ruby-on-rails coffeescript

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

  $('#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');

1 个答案:

答案 0 :(得分:1)

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

请记住require app {。}中的coffeescript文件,如//= require moment

在咖啡文件中添加$(document).on 'ready page:load', ->作为第一行。