Ruby on Rails:nested_form_for hidden

时间:2014-09-29 16:28:39

标签: ruby-on-rails forms hidden nested-forms

我试图找出如何隐藏页面上的嵌套表单。我知道如何做隐藏的字段,但我知道这也占用了页面上的空间。我如何得到它以便隐藏整个表格,并且不占用任何空间?

形式:

<%= 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 %>

1 个答案:

答案 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