简单形式:如何在集合关联中的每个复选框的文本值周围添加一个 span 标签

Simple Form: how to add a span tag around the text value for each checkbox in a collection association

我正在使用 Materialise 管理模板,我需要使用 Simple Form 正确格式化复选框,在每个复选框的文本值周围添加一个 span 标签。

我尝试了 Simple Form 提供的一些包装器选项,也尝试创建我自己的自定义输入,但我没有得到预期的结果。

这是我认为的当前代码,尽管我已经尝试了很多不同的东西。

<%= f.association :market_segments,
                  required: true,
                  label: false,
                  as: :check_boxes %>

我需要每个复选框中的 HTML 是这样的:

<label>
  <input type="checkbox" />
  <span>Restaurant</span>
</label>

但我一直收到这个:

<span class="checkbox">
  <label for="market_segment_ids_1">
    <input type="checkbox" />
    Restaurant
  </label>
</span>

我真的需要创建自定义输入来实现这一点吗?

非常感谢任何帮助!

这将有助于:

<%= f.association :market_segments, :as => :check_boxes, :label => false, :label_method => lambda { |market_segment| "<span>#{market_segment.name}</span>".html_safe }%>

以上代码供您理解,以达到您的目的。

Source