2014-09-29 69 views
0

我想弄清楚如何在我的页面上隐藏nested_form。我知道如何做隐藏的领域,但我知道,也占用了页面上的空间。我怎样才能得到它,这样整个表单就隐藏起来了,不占用任何空间?Ruby on Rails:nested_form_for隐藏

形式:

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

这肯定不是'HTML'。请发布相应的“HTML”。 – 2014-09-29 16:40:39

+0

尝试'style =“display:none;”' – Surya 2014-09-29 17:08:07

+0

我会在哪里放?通常,当我尝试在第一行插入某些内容时,会出现错误。 – Briknthewall 2014-09-29 17:09:52

回答

1

f.fields_for消耗了空间,因为你写它里面休息<br>。即使隐藏的字段不占用空间,f.fields_for可以因为它迭代每个关联的元素(在你的情况下每move对象)。

所以在概括地说,

除去<br>,CSS属性为table如果任何其可导致空间分配等margin, padding

除了使用style="display: none"超过style="visibility: hidden",因为它会占用空间(检查CSS Properties: Display vs. Visibility

+0

如何在nested_form标签内设置一个id或类,以便我可以使用css? – Briknthewall 2014-09-29 18:31:18

+0

你应该可以通过传递':class =>“某个类”或“:html_options => {:class =>”某个类“}”来做到这一点。我没有测试过,但应该工作。 – 2014-09-29 19:07:41