Я использую RoR, и я использую жемчужину Simple_Form для своих форм. У меня есть объектное отношение, при котором пользователь может иметь несколько ролей, а во время создания администратор может выбрать, какие роли применить к новому пользователю. Я бы хотел, чтобы у Ролей был свой флажок слева, а их имя справа в горизонтальной компоновке.
// "box" Admin //
вместо текущего
//
"окно"
Администратор
//
Мой текущий код для отображения ролей - это.
<div class="control-group">
<%= f.label 'Roles' %>
<div class="controls">
<%= f.collection_check_boxes
:role_ids, Role.all, :id, :name %>
</div>
</div>
Часть, на которую я больше всего зацикливаюсь, - это тот факт, что f.collection_check_boxes генерирует такой код.
<span>
<input blah blah />
<label class="collection_check_boxes" blah>blah</label>
</span>
Мне тяжело получить класс css, так как есть 3 компонента, которые нужно трогать. Я попытался добавить такие вещи, как фиктивные классы, в хеш: html, но класс фикчирования даже не отображается в отображаемом html.
Любая помощь приветствуется
EDIT: решение
Благодаря Baldrick мой рабочий erb выглядит так.
<%= f.collection_check_boxes :role_ids, Role.all, :id, :name,
{:item_wrapper_class => 'checkbox_container'} %>
И мой CSS выглядит следующим образом
.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;
}