如何从通过find-each方法生成的列表(在Rails应用程序中)创建下拉菜单?

How to create a dropdown menu from a list generated through find-each method (in a Rails app)?

提问人:German 提问时间:8/28/2023 最后编辑:Les NightingillGerman 更新时间:8/28/2023 访问量:19

问:

在我的 Rails 博客应用程序的导航栏中,我有以下一段代码,其中列出了网站中可用的文章类别。

<div class="">
      <% Category.find_each do |category| %>
        <small class="me-4"><%= link_to category.topic, category %></small>
      <% end %>
    </div>

目前,它将类别显示为导航栏上的水平列表。我试图使用 bootstrap 将所有这些类别列表打包到下拉菜单中,但我没有成功。这是我尝试过的:

 <div class="dropdown">
      <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Philosophy topics
      </button>
      <% Category.find_each do |category| %>
        <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
          <%= link_to category.topic, category, class: "dropdown-item txt-n me-4" %>
        </div>
      <% end %>
    </div>

当我单击显示的下拉列表时,没有任何“下拉”。我尝试了放置class=“dropdown-menu”的其他几种变体,但同样不成功。

我将不胜感激有关如何重组这段代码以获得工作下拉菜单的任何建议。

HTML CSS Ruby-on-Rails 推特引导

评论


答:

1赞 smathy 8/28/2023 #1

我不是引导专家,但文档似乎相当坚持认为你有一个,你有一个但没有.data-bs-toggle="dropdown"data-toggledata-bs-toggle

此外,你应该把你的 div 放在循环之外,所以你只有一个包含每个类别的链接。dropdown-menu