Rails全新。如何将<li>
包装器添加到由以下代码生成的每个复选框/标签元素中?
<%= f.collection_check_boxes :publish_to, [['YouTube'], ['Hulu'], ['Roku'], ['Owned Website'], ['Other']], :first, :first %>
最终输出的HTML看起来像:
<li class="checkbox-wrap">
<label></label>
<input type="checkbox"/>
</li>
提前致谢!
答案 0 :(得分:2)
这是可能的。 collection_check_boxes
允许您这样做:
<ul>
<%= f.collection_check_boxes :publish_to, [['YouTube'], ['Hulu'], ['Roku'], ['Owned Website'], ['Other']], :first, :first do |b| %>
<li>
<%= b.label %>
<%= b.check_box %>
</li>
<% end %>
</ul>
也适用于Rails 5.
参考:https://apidock.com/rails/v4.2.1/ActionView/Helpers/FormOptionsHelper/collection_check_boxes
答案 1 :(得分:1)
根据collection_check_boxes,以下应该做(但我自己从未尝试过):
<%= f.collection_check_boxes :publish_to, [['YouTube'], ['Hulu'], ['Roku'], ['Owned Website'], ['Other']], :first, :first do |b| %>
<%= content_tag :li, "#{b.label { b.check_box } }", class: "checkbox-wrap" %>
<% end %>
或类似的东西。