html - 如何在rails简单形式的字段集中创建div
问题描述
我得到了带有相关复选框的简单表格。我需要使用 twitter bootstrap 类“col-md-4”来设置复选框的样式,它将复选框呈现在 3 列中。但它需要父元素上的“行”类,即字段集。当我将该类分配给字段集时,它不起作用。但是如果我在浏览器开发工具中将父元素更改为 div,它会很好用。有什么办法可以在字段集中创建另一个 div,这将是我所有复选框 div 的父元素?或任何其他方式来解决我的问题?
_form.slim
=simple_form_for @test_run do |f|
=f.error_notification
=f.association :test_cases, as: :check_boxes, collection: ::TestCase.all, include_hidden: false, :item_wrapper_class => 'col-md-4'
=f.input :video, as: :radio_buttons, label: 'Record video?'
=f.submit
html
<fieldset class="form-group check_boxes required test_run_test_cases">
<legend class="col-form-label pt-0">Test cases <abbr title="required">*</abbr></legend>
<div class="col-md-4">checkbox</div>
<div class="col-md-4">checkbox</div>
.
.
.
</fieldset>
我需要这样的东西
<fieldset class="form-group check_boxes required test_run_test_cases">
<div class="row">
<legend class="col-form-label pt-0">Test cases <abbr title="required">*</abbr></legend>
<div class="col-md-4">checkbox</div>
<div class="col-md-4">checkbox</div>
.
.
.
</div>
</fieldset>
解决方案
对我来说,最快的解决方案是实际更改默认包装标签:
# config/initializers/simple_form.rb
config.collection_wrapper_tag = :div
这将在复选框或单选按钮周围创建一个 div。然后,您可以通过collection_wrapper_class
在简单表单输入中使用为该 div 分配一个类。对于您的情况,它将是
=f.input :video, as: :radio_buttons, label: 'Record video?', collection_wrapper_class: 'some-class'
推荐阅读
- javascript - 替换 URL 中的空格和逗号
- c++ - 拆分 constexpr 函数定义的问题
- matlab - Matlab:使用 IF 条件在线更改 ODE 参数
- qt - QML 将子项放在前面
- xamarin - Xamarin.Forms iOS - 当设备连接互联网时开始上传数据,即使应用程序当前未处于活动状态或处于后台也是如此
- ocaml - 将浮点列表转换/转换为整数列表
- python-3.x - Handling an exception and continuing a loop
- c - 尝试向输入的 bmp 文件添加过滤器时,为什么我的代码段出错?
- c# - 什么是处理接口特定方法的好方法?
- java - 检查字符串在Java中的格式是否正确