如何追加在collection_check_boxes HTML(轨道4)

问题描述:

我通过记录试图环和生成html代码,将创建一个这样的清单列表:如何追加在collection_check_boxes HTML(轨道4)

<%= f.collection_check_boxes(:user_ids, User.all, :id, :fullname) do |cb| %> 
    <% cb.label do %> 
    <%= cb.check_box + cb.text %> 
    <% end %> 
<% end %> 

此代码生成预期不cheklist项目休息之间。但是,当我尝试每个标签后添加</br>标签,如:

<%= f.collection_check_boxes(:user_ids, User.all, :id, :fullname) do |cb| %> 
    <% cb.label do %> 
    <%= cb.check_box + cb.text %> 
    <% end %> 
</br> 
<% end %> 

标签不会出现在生成的HTML和我只得到</br>标签。有没有办法以另一种方式追加HTML代码?

谢谢。

你只有<br />标签是辅助f.collection_check_boxes返回块内的最后一个元素的原因,你可以试试这个:

<%= f.collection_check_boxes(:user_ids, User.all, :id, :fullname) do |cb| %> 
    <% cb.label do %> 
    <%= cb.check_box + cb.text %><br /> 
    <% end %> 
<% end %> 

,或者你设置这样的

<ul> 
<%= f.collection_check_boxes(:user_ids, User.all, :id, :fullname) do |cb| %> 
    <% cb.label do %> 
    <li><%= cb.check_box + cb.text %></li> 
    <% end %> 
<% end %> 
</ul> 
列表
+0

感谢Abdoo - 第二种方法(使用列表工作)。第一个标签在

另一种方式的HTML代码添加到一个表单与input_html选项:

<%= f.collection_check_boxes(:user_ids, User.all, :id, :fullname), input_html: { style: "margin-bottom: 20px" } do |cb| %> 
    <% cb.label do %> 
    <%= cb.check_box + cb.text %> 
    <% end %> 
<% end %> 

或使用item_wrapper_class以类似的方式发布here

在Rails 5,这是工作(注意:<%= cb.label DO%>):

<%= f.collection_check_boxes(:user_ids, User.all, :id, :fullname) do |cb| %> 
    <%= cb.label do %> 
    <%= cb.check_box + cb.text %> 
    <% end %> 
    <br/> 
<% end %>