在Rails4中,汉堡包jquery按钮代码在哪里

Where does hamburger jquery button code go in Rails 4?

本文关键字:按钮 代码 在哪里 jquery 汉堡包 Rails4      更新时间:2023-09-26

我有一个汉堡包按钮,它会导致侧边栏出现和消失。我使用rails和jquery。我已经包含了gemjquery rails。

application.js
  //= require jquery
  //= require jquery_ujs
  //= require turbolinks
  //= require_tree .

当我将代码直接包含在我的视图中时:

  <script>
    $('.hamburger').on('click', function () {
      if ($('.sidebar').hasClass('open')) {
        $('.sidebar').removeClass('open');
      }
      else {
        $('.sidebar').addClass('open');
      }});
  </script>

它有效!当我把脚本拿走并放在我的xxx.coffee文件中时,它就不起作用了,我已经把它重命名为xxx.js。我看了网页代码,有

 <script src="/assets/xxx.self-numbersandletters.js?body=1" data-turbolinks-track="true"></script>

我不能把我犯的错误放在一起。我认为可能是这样的:

  <script
    $('.hamburger').on('click', function () {
      if ($('.sidebar').hasClass('open')) {
        $('.sidebar').removeClass('open');
      }
      else {
        $('.sidebar').addClass('open');
      }});>
  </script>

但我想我必须阅读更多关于资产管道的内容,或者将其转换为咖啡脚本。

xxx.js文件

$(document).on('ready page:load', function() {
  $('.hamburger').on('click', function () {
    if ($('.sidebar').hasClass('open')) {
      $('.sidebar').removeClass('open');
    }
    else {
      $('.sidebar').addClass('open');
    }
  });
 });

如果xxx.js不是控制器的js文件,那么将xxx.js包含到application.js中。

 //= require turbolinks
 //= require xxx.js
 //= require_tree .