1

Ich verwende simple_form und versuche, einen benutzerdefinierten Wrapper zu erstellen. Bisher kein Glück.Mehrere Optionsfelder mit simple_form (Sternbewertung)

Ich bin auf der Suche nach einer einfachen Sternbewertung, die 5 Radiobuttons für jeden Wert hat. Die gewünschte Ausgabe:

<fieldset class="rating-new"> 
    <input type="radio" id="star5" name="rating" value="5" /> 
    <label class = "full" for="star5" title="Awesome - 5 stars"></label> 

    <input type="radio" id="star4" name="rating" value="4" /> 
    <label class = "full" for="star4" title="Pretty good - 4 stars"></label> 

    <input type="radio" id="star3" name="rating" value="3" /> 
    <label class = "full" for="star3" title="Meh - 3 stars"></label> 

    <input type="radio" id="star2" name="rating" value="2" /> 
    <label class = "full" for="star2" title="Kinda bad - 2 stars"></label> 

    <input type="radio" id="star1" name="rating" value="1" /> 
    <label class = "full" for="star1" title="Sucks big time - 1 star"></label> 
</fieldset> 

Ich verwende simple_form-bootstrap und verstehen, dass ich einen benutzerdefinierten Wrapper erstellen müssen, dies zu tun, aber ich jagte es viel und kann nicht scheinen, um es herauszufinden.

Gedanken darüber, wie ich das erreichen kann?

+0

Versuchen Sie, diese Schnipsel auf codepen [LINK] (https://codepen.io/lsirivong/pen/ekBxI) –

+0

Hey @JyotiPathania, die Frage ist mehr über das Erhalten der gewünschten HTML-Ausgabe mit simple_form:/ –

Antwort

2

Dank @HarlemSquirrel für mich von collection_radio_buttons erinnert. Ich wollte es eine benutzerdefinierte Wrapper erstellen, aber ich ließ sich mit den Etiketten zwicken und Stil bekommen, wo ich will:

Hier ist, wie ich es bekam Arbeit:

<%= f.collection_radio_buttons :rating, [[5], [4], [3], [2], [1]], :first, :last, item_wrapper_tag: false, boolean_style: :inline do |b| %> 
    <%= b.radio_button + b.label {''} %> 
<% end %> 
0

können Sie die Tasten Sammlung Radio verwenden, um von https://github.com/plataformatec/simple_form#collection-radio-buttons

form_for @something_rated do |f| 
    f.collection_radio_buttons :rating, [[1, '1'] ,[2, '2'],[3, '3'],[4, '4'],[5, '5']], :first, :last 
end 
+0

Hey @HarlemSquirrel, ich bin bewusst, die 'collection_radio_buttons' aber es erzeugt ein ganz anderes Layout als das, das ich brauche:/Weißt du, wie ich den Wrapper optimieren kann, um die Ausgabe zu bekommen, die ich brauche? –

+0

Ich glaube, Sie können 'item_label_class: 'full' hinzufügen, um die Etiketten zu stylen – HarlemSquirrel

Verwandte Themen