我试图找出如何隐藏页面上的嵌套表单。我知道如何做隐藏的字段,但我知道这也占用了页面上的空间。我如何得到它以便隐藏整个表格,并且不占用任何空间?
形式:
<%= nested_form_for @game do |f| %>
<%= f.fields_for :moves do |move_form| %>
<div id="table" data-current-player="<%=session[:current_player] %>">
<%= move_form.hidden_field :position %><br>
<%= move_form.hidden_field :player, data: {position: move_form.object.position} %>
<%= move_form.hidden_field :id %>
</div>
<% end %>
<input type="Submit" style="visibility: hidden">
<% end %>
答案 0 :(得分:1)
f.fields_for
正在消耗空间,因为你在其中写了中断<br>
。即使隐藏字段不占用空间,f.fields_for
也可以为每个关联元素迭代(在您的情况下为每个move
对象)。
简而言之,
删除<br>
,table
的css属性(如果有的话)可以导致空间分配,如margin, padding
。
同样使用style="display: none"
而不是style="visibility: hidden"
,因为它可以消耗空间(检查CSS Properties: Display vs. Visibility)