Ruby on rails 渲染erb后,元素顺序错误
我在开发rails时遇到了有线问题。容器中元素的顺序为Ruby on rails 渲染erb后,元素顺序错误,ruby-on-rails,erb,Ruby On Rails,Erb,我在开发rails时遇到了有线问题。容器中元素的顺序为 <div class="container"> <%= yield %> <%= render 'layouts/footer' %> <%= debug(params) if Rails.env.development? %> </div> 对于大多数页面,它工作得很好。但当它呈现下一页时会出错 <% provide(:title, 'All Apps
<div class="container">
<%= yield %>
<%= render 'layouts/footer' %>
<%= debug(params) if Rails.env.development? %>
</div>
对于大多数页面,它工作得很好。但当它呈现下一页时会出错
<% provide(:title, 'All Apps') %>
<h1>All Apps</h1>
<table class="apps table">
<thead>
<tr>
<th>App Name</th>
<th>Status</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<%= render @apps %>
</tbody>
</talbe>
所有应用程序
应用程序名称
地位
删除
容器中元素的顺序变为
<div class="container">
<h1>All Apps</h1>
<footer class="footer">...</footer>
<pre class="debug_dump">...</pre>
<table class="app table">...</table>
</div>
所有应用程序
...
...
...
让我困惑的是,只有这一页出错了。我使用的是Rails 4.0.5 最可能发生的情况是,浏览器HTML解析器正在尝试修复问题,方法是将元素“浮动”在表中(而不是在
tr>td
)放在表之前。您可能有一个未关闭的标签
(这就是为什么在这种情况下,检查生成的html并将其与浏览器的DOM面板进行比较非常重要的原因-它可能会非常不同!)您希望看到什么
顺序?@Pavan in.erb,footer在下面。呈现后,内容为的将成为容器中的最后一个元素。您是否确实复制/粘贴了代码或键入了代码?如果复制/粘贴<代码>
否则-我会寻找一个简单的未关闭的div或其他标记。@TaryEast谢谢,导致了问题。浏览器会自动完成标记并忽略标记,这使得查找问题变得困难。