我在使用 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。您能帮我找出问题并提供解决方案吗?
我只是从 application.html.erb 中删除这一行:
<%= javascript_include_tag 'custom' %>
并在 body 标签结束之前将其替换为以下代码:
<script>
$(".ui.dropdown").dropdown();
</script>