Ich verwende simple form simple_form (v: 3.2.1) mit bootstrap
in meiner aktuellen Rails-Anwendung (andere Entwickler zuvor an diesem Projekt gearbeitet). Für Radio-Button aus collection
Erstellen ichSimple_form Kontrollkästchen erzeugt keine Geschwisterspanne für Kontrollkästchen
= f.input :default_ship,
label: 'foo)',
collection: default_ship_options(@company),
as: :radio_buttons
, die HTML erzeugen wie
<span class="radio radio radio"><label for="foo"><input class="radio_buttons required" required="required" aria-required="true" type="radio" value="company" name="purchasing_source[default_ship]" id="foo"><span></span>Test Shipping Address</label></span>
Schauen Sie sich hier eine leere Spanne <span></span>
tatsächlich erstellt wird, dass für die Ansicht Kontrollkästchen.
Mein CSS-Code:
.radio, .checkbox {
position: relative;
display: block;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label, .checkbox label {
min-height: 20px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
label input[type=checkbox], label input[type=radio] {
display: none;
}
label input[type=checkbox] + span, label input[type=radio] + span {
display: inline-block;
width: 1.4em;
height: 1.4em;
margin-right: 0.5em;
vertical-align: middle;
cursor: pointer;
border: 1px solid #AAA;
}
Nun mein Problem ist einfache Form schafft keine zusätzliche span
für checkbox
Element, das ist, warum kein Kontrollkästchen für Kontrollkästchen angezeigt wird. Erzeugten HTML für Checkbox ist
<span class="checkbox"><label for="manufacturer_currencies_fr"><input class="check_boxes optional" type="checkbox" value="fr" name="manufacturer[currencies][]" id="manufacturer_currencies_fr">Euro</label></span>
Wie kann ich zusätzliche erzeugen span
auch für Kontrollkästchen? (Ich möchte nicht mein CSS ändern, weil es bereits viele Orte verwendet)
Es scheint mir, dass ich etwas unter simple_form_bootstrap.rb
tun muss, aber nicht sicher. Es kann auch sein, dass ein früherer Entwickler eine Methode überschreiben kann, aber ich habe keine Ahnung, wo ich das finden kann.