从不同视图渲染时div结构中的差异

时间:2015-01-21 09:00:00

标签: html ruby-on-rails ruby-on-rails-4 partial-views markup

我在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-bodynew观察,它应该在它应该的位置 看看我抓到的firebug输出:

.... /新/ new.html.erb .... /编辑/ edit.html.erb

但同样,editnew都指向完全相同的_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>

0 个答案:

没有答案