我正在使用 RoR,并且我正在为我的表单使用 Simple_Form gem。我有一个对象关系,一个用户可以有多个角色,在创建过程中,管理员可以选择哪些角色应用于新用户。我希望角色的复选框位于左侧,右侧的名称以水平排列方式排列。
// “盒子” 管理员 //
而不是当前的
//
“盒子”
行政
//
我当前显示角色的代码是这样的。
<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 中。
任何帮助是极大的赞赏
编辑:解决方案
感谢 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;
}