语义 UI 下拉列表在 Rails 7 应用程序中不起作用

问题描述 投票:0回答:1

我在使用 CDN 开发的 Rails 7 应用程序中遇到语义 UI 下拉列表问题。尽管我做出了努力,但下拉菜单并未按预期工作。下面是相关代码:

application.html.erb:

<!DOCTYPE html>
<html>
  <head>
    <title>OnlineChattingAppInRails</title>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
    <%= javascript_importmap_tags %>

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/semantic.min.css">
  </head>

  <body>
    <%= render 'shared/header' %>
    <div class="ui container">
      <%= yield %>
    </div>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/semantic.min.js"></script>
    <%= javascript_include_tag 'custom' %>
  </body>
</html>

_header.html.erb:

<div class="ui small inverted menu">
  <div class="ui container">
    <a class="item">Home</a>
    <a class="item">Messages</a>
    <div class="right menu">
      <div class="ui dropdown item">
        Language <i class="dropdown icon"></i>
        <div class="menu">
          <a class="item">English</a>
          <a class="item">Russian</a>
          <a class="item">Spanish</a>
        </div>
      </div>
      <div class="item">
        <div class="ui primary button">Sign Up</div>
      </div>
    </div>
  </div>
</div>

custom.js(应用程序/javascript/custom.js):

$(document).on("turbolinks:load", function () {
  $(".ui.dropdown").dropdown();
});

尽管有这些配置,下拉菜单的行为仍不符合预期。我已确保正确包含 jQuery 和 Semantic UI。您能帮我找出问题并提供解决方案吗?

jquery ruby-on-rails debugging semantic-ui
1个回答
0
投票

我只是从 application.html.erb 中删除这一行:

<%= javascript_include_tag 'custom' %>

并在 body 标签结束之前将其替换为以下代码:

 <script>
      $(".ui.dropdown").dropdown();
    </script>
© www.soinside.com 2019 - 2024. All rights reserved.