J'utilise RoR et j'utilise la gemme Simple_Form pour mes formulaires. J'ai une relation d'objet par laquelle un utilisateur peut avoir plusieurs rôles, et pendant la création, l'administrateur peut sélectionner les rôles à appliquer au nouvel utilisateur. Je voudrais que les Rôles aient leur case à cocher sur la gauche, et leur nom sur la droite dans un arrangement horizontal.Aligner les cases à cocher pour f.collection_check_boxes avec Simple_Form
// "box" Admin //
au lieu du courant
//
"box"
Administrateur
//
Mon code actuel à afficher les rôles sont ceci.
<div class="control-group">
<%= f.label 'Roles' %>
<div class="controls">
<%= f.collection_check_boxes
:role_ids, Role.all, :id, :name %>
</div>
</div>
La partie que je suis le plus enferrons est sur le fait que les f.collection_check_boxes génère du code comme celui-ci.
<span>
<input blah blah />
<label class="collection_check_boxes" blah>blah</label>
</span>
ce qui rend difficile pour moi d'obtenir une classe css là-dedans comme il y a 3 éléments qui doivent être touchés. J'ai essayé d'ajouter des choses telles que des classes factices au hash: html, mais la classe dummy n'apparaît même pas dans le html rendu.
Toute aide est grandement appréciée
EDIT: Solution
Merci à Baldrick, mon erb de travail ressemble à ceci.
<%= f.collection_check_boxes :role_ids, Role.all, :id, :name,
{:item_wrapper_class => 'checkbox_container'} %>
Et mon CSS est comme suit
.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;
}
Merci, c'était à peu près la réponse. –
Je suppose que les choses ont changé (encore), car aucune collection n'est créée avec "collection_check_boxes, la page liée n'a" item_wrapper_class "nulle part, et rien ne change dans la page résultante html si vous mettez ceci. à la div environnante, puis utilisé css ">" pour affecter les éléments à l'intérieur – JosephK