如何在 rails 中使用类别实现 bootstrap 下拉菜单

How do I implement bootstrap dropdown in rails with categories

我想在我的 rails 项目中实现 Bootstrap 的下拉菜单,类似于 Bootstrap 网站上提供的以下代码:

<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>

我目前在项目中有一个部分,我可以在其中添加 new/edit 类别以在主窗体中使用。我目前拥有的未格式化 select/dropdown 的代码是:

<%= f.select :category_id, Category.all.map { |category| [ category.name, category.id ] }, class: "form-control" %>

这似乎没有应用任何 bootstrap 格式,我尝试将代码稍微更改为:

<%= f.select :category_id, options_for_select([Category.all.map { |category| [ category.name, category.id ] }]), {}, class: "form-control" %>

这为下拉框提供了 bootstrap 样式框,但默认选择下的下拉菜单没有任何类似于 Bootstrap 示例的格式。我的其中一个类别名为 Pages,但上面代码中选择框内的文本仅显示 ["pages", 1],其中 1 是 ID。

如有任何帮助,我们将不胜感激:)

我认为正确的语法如下

 = f.select :category_id, options_for_select(Category.collect {|c| [c.name, c.id]}), { :include_blank => "Please select category"}, {:class => "form-control"}