2017-05-25 2 views
1

Ich verwende ein Formular zum Erstellen eines Datensatzes in RoR. Ich habe ein Dropdown-Menü und ich weiß nicht, wie man eine Klasse zum Styling dieses Elements hinzufügt.Klasse zu Collection_select auf Ruby On Rails Formular hinzufügen

Code:

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

Aber diese Klasse nicht funktioniert, ist dieser Stil von Bootstrap.

Danke!

<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> 

Aber collection_select wird geben Sie select, wie folgt aus:

<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>  

Ich

Antwort

1

Sie tun es richtig, aber Sie müssen die Hashes trennen:

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

Ansonsten ist es wie ein Hash interpretiert wird. Die Funktionsspezifikation hat zwei Objekt-Hashes als Argumente; der erste ist für die Sammlung Optionen, der zweite für HTML-Optionen.

+0

Lassen Sie dies hier, wie es die Frage beantwortet, aber betrachten @jvillian Antwort auch; Wahrscheinlich möchten Sie Ihr Auswahl-Dropdown nicht als Schaltfläche stylen. – GoGoCarl

+0

Danke, es funktioniert! – Xavi

0

In den Bootstrap-Dropdown-Listen docs werden die Stile zu einem button Element wie folgt immer angewendet Das Erraten von HTML sieht so aus:

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

Und ich nehme an Bootstrap weiß nicht, wie man damit etwas macht.

Verwandte Themen