Ruby on rails Rails 5.2-子菜单don';t保持打开(Turbolink?)
我有这个侧边栏,打开子菜单有困难 当我点击Ruby on rails Rails 5.2-子菜单don';t保持打开(Turbolink?),ruby-on-rails,Ruby On Rails,我有这个侧边栏,打开子菜单有困难 当我点击侧边栏下拉列表时,它会立即打开和关闭。我点击的次数越多,它打开的次数就越少,然后就不再打开了。除非我重新加载 我试图通过在html中添加data turbolinks=“false”来禁用此菜单中的Turbolink。它部分工作,但这意味着其他问题。 边栏下拉列表按预期打开和关闭,由于某些原因,我无法解释在主导航栏中单击一些按钮后,它们变得不可访问,除非我重新加载页面 clcik失败时,url末尾会出现一个#。。像这样:http://localhost:
侧边栏下拉列表时,它会立即打开和关闭。我点击的次数越多,它打开的次数就越少,然后就不再打开了。除非我重新加载
我试图通过在html中添加data turbolinks=“false”
来禁用此菜单中的Turbolink。它部分工作,但这意味着其他问题。
边栏下拉列表按预期打开和关闭,由于某些原因,我无法解释在主导航栏中单击一些按钮后,它们变得不可访问,除非我重新加载页面
clcik失败时,url末尾会出现一个#
。。像这样:http://localhost:3000//categories/66#
(如果启用或禁用turbolink,则会发生这种情况”
浏览器控制台中完全没有错误
在我的应用程序中,我还使用了gem'webpacker',“~>3.5.5”
你知道什么地方出了问题吗?怎么解决这个问题
<div class="page-wrapper chiller-theme toggled"> <!--data-turbolinks="false" is added in the div when turbolink is disabled -->
<nav id="sidebar" class="sidebar-wrapper">
<div class="sidebar-content">
<div class="sidebar-brand">
<a href="#">Menu pro</a>
<div id="close-sidebar">
<i class="fas fa-times"></i>
</div>
</div>
<div class="sidebar-menu">
<ul>
<li class="sidebar-dropdown">
<a href="#">
<i class="fas fa-cart-arrow-down"></i>
<span>Orders</span>
</a>
<div class="sidebar-submenu">
<ul>
<li>
<%= link_to "Orders", orders_path, class: "list-item" %>
<%= link_to "New Orders", incoming_orders_path, class: "list-item" %>
</li>
</ul>
</div>
</li>
<li>
</li>
<li class="sidebar-dropdown">
<a href="#">
<i class="fas fa-truck"></i>
<span>Market</span>
</a>
<div class="sidebar-submenu">
<ul>
<li>
<%= link_to "Markets", market_path, class: "list-item" %>
</li>
</ul>
</div>
</li>
<li>
</li>
<li class="sidebar-dropdown">
<a href="#" id="suppliers">
<i class="fas fa-address-book"></i>
<span>Suppliers</span>
</a>
<div class="sidebar-submenu">
<ul>
<li>
<%= link_to "New Suppliers", new_supplier_path, class: "drop-item" %>
</li>
<li>
<%= link_to "Suppliers", suppliers_path, class: "drop-item" %>
</li>
</ul>
</div>
</li>
<li>
<li>
<%= link_to clients_customization_path, class: "list-item" do %>
<i class="fa fa-palette"></i> Customisation
<% end %>
</li>
</ul>
</div>
<!-- sidebar-menu -->
</div>
</nav>
</div>
更新>我发现,在turbolink被禁用的情况下,当我在我的展示页面中访问展示页面(任何展示页面使侧边栏失败)后,侧边栏下拉列表变得不可点击。我使用turbolink进行引导转盘
因此,我们的任务是找到如何使turbolink在任何地方都能正常工作的方法,我认为您需要防止切换DrowDown的链接的实际行为
$(".sidebar-dropdown > a").click(function(e) {
e.preventDefault();
....the rest
至少这样可以防止url上的“#”出现。我认为您需要防止切换DrowDown的链接的实际行为
$(".sidebar-dropdown > a").click(function(e) {
e.preventDefault();
....the rest
至少这会阻止url上的“#”出现。看起来它终于起作用了。我之前试过这个e.preventDefault();
但是我想是别的什么东西搞乱了它看起来终于起作用了。我之前试过这个e.preventDefault();
但是我想是别的什么东西搞乱了