从COLLECTION_CHECK_BOX删除外部标签 [英] Remove outer label from collection_check_boxes

查看:15
本文介绍了从COLLECTION_CHECK_BOX删除外部标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从我的关联复选框生成表。每行显示一个复选框和一些附加信息。

%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,但此选项无效。我怎样才能去掉外标签?

推荐答案

差不多一年后我终于自己想明白了。有一个名为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配置。

这篇关于从COLLECTION_CHECK_BOX删除外部标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆