JavaScript for Bootstrap 下拉菜单有时有效,有时无效

JavaScript for Bootstrap dropdown sometimes works, sometimes doesn't

所以我正在使用 Bootstrap 下拉菜单,如下所示:

%ul.hidden-xs.hidden-sm
  %li= link_to "LIBRARY", library_path
  %li= link_to "PRICING", plans_and_pricing_path
  %li.dropdown
    .dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown"}= link_to "#{current_user.first_name} <i class='fa fa-caret-down'></i>".html_safe, '#'
    %ul.dropdown-menu
      %li= link_to 'Edit profile', edit_user_registration_path(resource), class: 'user-nav-li'
      %li= link_to 'Referrals', referrals_path, class: 'user-nav-li'
  %li= link_to "LOG OUT", destroy_user_session_path, method: :delete

有时有效,有时无效。我尝试在单击下拉菜单时查看检查器中的元素(在它不起作用的时候),我可以看到事件触发。 %li.dropdown 应该添加 open class,aria-expanded 应该从 true 更改为 false。这是它工作时发生的情况。但是,当它不起作用时,元素保持不变,只是在检查器中简单地突出显示 (Chrome),就像元素在更改时所做的那样。

这告诉我 JS 正在加载,因为它至少响应了点击事件。但没有其他事情发生。

我试过寻找模式。刷新有时会修复它,但有时会触发问题。有时导航到不同的页面可以修复它,但有时不会。 none 的页面表现一致。我想这应该无关紧要,因为它在我的导航栏中并且在应用程序级别。

我不确定还能尝试什么。一切看起来都很随意。

旁注:我不是 JavaScript 专业人士

正如我所说,罪魁祸首是 turbolinks。添加 gem jquery-turbolinks 应该可以解决问题。

#Gemfile
gem 'jquery-turbolinks'

和运行bundle install