Sto usando RoR e sto usando la gemma Simple_Form per i miei moduli. Ho una relazione di oggetti in cui un utente può avere più ruoli e, durante la creazione, l'amministratore può selezionare i ruoli da applicare al nuovo utente. Vorrei che i ruoli avessero la loro casella di controllo sulla sinistra e il loro nome sulla destra in una disposizione orizzontale.Allinea le caselle di controllo per f.collection_check_boxes con Simple_Form
// Admin "box" //
invece degli attuali
//
"scatola"
Admin
//
Il mio codice corrente da mostrare i ruoli è questo.
<div class="control-group">
<%= f.label 'Roles' %>
<div class="controls">
<%= f.collection_check_boxes
:role_ids, Role.all, :id, :name %>
</div>
</div>
La parte che sto ottenendo più appeso su è il fatto che le f.collection_check_boxes genera codice come questo.
<span>
<input blah blah />
<label class="collection_check_boxes" blah>blah</label>
</span>
che rende difficile per me per ottenere una classe CSS in là, come ci sono 3 componenti che devono essere toccati. Ho provato ad aggiungere cose come le classi dummy all'hash html, ma la classe dummy non compare nemmeno nell'html renderizzato.
Qualsiasi aiuto è molto apprezzato
EDIT: Soluzione
Grazie a Baldrick, il mio erb di lavoro simile a questa.
<%= f.collection_check_boxes :role_ids, Role.all, :id, :name,
{:item_wrapper_class => 'checkbox_container'} %>
E il mio CSS è la seguente
.checkbox_container {
display: inline-block;
vertical-align: -1px;
margin: 5px;
}
.checkbox_container input {
display: inline;
}
.checkbox_container .collection_check_boxes{
display: inline;
vertical-align: -5px;
}
Grazie, è stata più o meno la risposta. –
Immagino che le cose siano cambiate (ancora una volta), dato che nessuna estensione è stata creata con "collection_check_boxes, la pagina collegata non ha" item_wrapper_class "da nessuna parte su di essa, e nulla cambia nel html della pagina risultante se lo inserisci. Ho aggiunto una classe al div circostante, quindi usato il css ">" per influenzare gli elementi al suo interno – JosephK