我正在使用RoR,我正在使用Simple_Form gem来表示我的表单.我有一个对象关系,用户可以有多个角色,在创建过程中,管理员可以选择要应用于新用户的角色.我希望Roles的左边是复选框,右边的名字是水平排列.
//"box"管理员//
而不是当前
//
"框"
管理员
//
我目前显示角色的代码是这样的.
<div class="control-group">
<%= f.label 'Roles' %>
<div class="controls">
<%= f.collection_check_boxes
:role_ids, Role.all, :id, :name %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我最感兴趣的部分是f.collection_check_boxes生成这样的代码.
<span>
<input blah blah />
<label class="collection_check_boxes" blah>blah</label>
</span>
Run Code Online (Sandbox Code Playgroud)
这让我很难在那里获得一个css类,因为有三个组件需要触及.我已经尝试将诸如虚拟类之类的东西添加到:html哈希,但是虚拟类甚至没有出现在渲染的html中.
任何帮助是极大的赞赏
编辑:解决方案
感谢Baldrick,我的工作erb看起来像这样.
<%= f.collection_check_boxes :role_ids, Role.all, :id, :name,
{:item_wrapper_class => 'checkbox_container'} %>
Run Code Online (Sandbox Code Playgroud)
我的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;
}
Run Code Online (Sandbox Code Playgroud)