如何追加在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>
列表
答
另一种方式的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 %>
感谢Abdoo - 第二种方法(使用列表工作)。第一个标签在