我正在从我的关联复选框生成一个表。每行显示一个复选框和一些其他信息。
%table
= f.collection_check_boxes :task_ids, @my_collection, :id, :label do |r|
%tr
%td= r.label
%td= r.check_box
%td= r.object.due_date
但这打破了我的HTML,因为输出看起来像这样:
<table>
<span><label for="task_ids_1"> <--- I want to remove this...
<tr>
<td><label for="task_ids_1">My Name</label></td>
<td><input type="checkbox" value="8" name="user[task_ids][]" id="task_ids_1" /></td>
<td>I'm in.</td>
</tr>
</label></span> <--- ...and this!
</table>
当然我尝试设置label: false
,但此选项无效。如何摆脱外部标签?
答案 0 :(得分:2)
差不多一年后,我终于明白了。有一个名为boolean_style: :inline
的选项使其有效。
%table
= f.collection_check_boxes :task_ids, @coll, :id, :label, boolean_style: :inline do |r|
%tr
%td= r.label
%td= r.check_box
%td= r.object.due_date
我在https://github.com/plataformatec/simple_form/issues/1266找到了解决方案和解释:
因为你希望它是内联的(因为你正在嵌套它 你需要使用boolean_style :: inline config。