我在rails应用程序中遇到了令人困惑的HTML情况。所以我有new
视图和edit
视图,可以调用相同的部分视图_form.html.erb
。
_form partial的结构如下:
<%= simple_form_for @incorporation do |f| %>
<div class="panel-body">
<div id="basic_info" class="form_section">
Some stuff
</div>
<div id="address" class="form_section"> More stuff</div>
<div id="equity" class="form_section">.....</div>
<div id="directors" class="form_section">...</div>
<div id="ip" class="form_section">....</div>
<div id="contractor" class="form_section">....</div>
</div>
<% end %>
问题是:当页面在浏览器中呈现时,edit
视图会显示div#contractor
之外的div.panel-body
但new
观察,它应该在它应该的位置
看看我抓到的firebug输出:
.... /新/ .... /编辑/
但同样,edit
和new
都指向完全相同的_form.html.erb
见下文:
new.html.erb
<h1>New</h1>
<%= render 'form' %>
<%= link_to "Back", root_path, class: "btn btn-default" %>
edit.html.erb
<h1>Edit</h1>
<%= render 'form' %>
<%= link_to "Back", root_path, class: "btn btn-default" %>
他们之间唯一不同的是字面上我放在顶部的小标题。 我的问题是,是否有人猜测可能导致这种情况的原因。 显然,我并没有指望任何人为我的代码梳理这个bug,因为我将其截断以避免长篇大论。但是如果有人以前遇到这个问题或者对我可能会开始寻找的地方有任何建议,我会感兴趣。
更新1:
它变得更加怪异。所以我决定将div.panel-body从partial中取出并将其放入edit.html.erb
中,如下所示:
<h1>Incorporation</h1>
<div class="panel-body">
<%= render 'form' %>
</div>
<br/>
<%= link_to "Back", root_path, class: "btn btn-default" %>
然而,问题仍然存在。
更新2: 我通过将div #connerctor移到div#ip之上找到了解决方法。看来div#承包商有点不对劲。我已将其包含在
下面<div id="contractor" class="form_section">
<div class="form-left"><h2>Employees Contractors</h2></br><p>stuff</p></div>
<div class="form-right">
<div>
<%= company.simple_fields_for :contractor_people do |contractor| %>
<%= render 'contractor_person_fields', f:contractor %>
<% end =%>
<%= link_to_add_association 'Add Person', company, :contractor_people, class: "btn btn-default add-button" %>
</div>
<div class="form_subsection">
<div>
<%= company.simple_fields_for :contractor_orgs do |contractor| %>
<%= render 'contractor_org_fields', f:contractor %>
<% end =%>
<%= link_to_add_association 'Add Company', company, :contractor_orgs, class: "btn btn-default add-button" %>
</div>
</div>
</div>
</div>