在Ruby On Rails处方集上将类添加到collection_select

时间:2017-05-25 19:37:06

标签: css ruby-on-rails twitter-bootstrap collection-select

我使用表单在RoR中创建记录。我已经下拉菜单了,我不知道如何为这个元素添加样式。

代码:

<%= f.collection_select :id, TipusProducte.order(:nom),:id ,:nom, include_blank: false, class: "btn btn-secondary dropdown-toggle" %>

但是这个课程不起作用,这种风格来自Bootstrap。

谢谢!

2 个答案:

答案 0 :(得分:2)

你做得对,但你需要分开哈希:

<%= f.collection_select :id, TipusProducte.order(:nom),:id ,:nom, { include_blank: false }, { class: "btn btn-secondary dropdown-toggle" } %>

否则,它被解释为一个哈希。函数规范有两个对象哈希作为参数;第一个用于收集选项,第二个用于HTML选项。

答案 1 :(得分:1)

在Bootstrap下拉列表docs中,样式始终应用于button元素,如下所示:

<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown button
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
  </div>
</div>

但是collection_select会给你select,就像这样:

<select name="post[author_id]">
  <option value="">Please select</option>
  <option value="1" selected="selected">D. Heinemeier Hansson</option>
  <option value="2">D. Thomas</option>
  <option value="3">M. Clark</option>
</select>    

我猜HTML看起来像:

<select ... class = "btn btn-secondary dropdown-toggle">

我认为Bootstrap不知道该怎么做。