我在使用rails的一个视图中正确格式化表时遇到问题。该视图显示订单的项目。
以下是观点:
<h3>Order for <%= @demand.customer.name %></h3>
<h4>Ordered for: <%= @demand.date %></h4>
<h4>Add Items</h4>
<%= render 'demands/item_form' %>
<table class="customer-table">
<tr>
<th>Item</th>
<th>Price</th>
<th>Quantity</th>
<th style="padding-left: 30px;">Sub Total</th>
</tr>
<% @demand.items.each do |item| %>
<tr>
<td><%= item.name %></td>
<td><%= item.price %></td>
<% item.demand_items.each do |quantity| %>
<td><%= quantity.quantity %></td>
<td class="sub-total" style="padding-left: 30px;">
<%= (item.price) * (quantity.quantity) %></td>
<% end %>
<% end %>
</tr>
</table>
以下是该问题的一些屏幕截图。红框和右边的所有内容都不应该在那里:http://i.imgur.com/crRP7bY.png
我仍然很擅长开发,所以这可能很简单。
答案 0 :(得分:4)
第二对tr
不正确。将最后一个tr
标记放在循环中,就像这样
</tr>
<% end %>
</table>
答案 1 :(得分:0)
我通过结束第二个each
循环来阻止这种情况发生。
这是固定代码
<% @demand.items.each do |item| %>
<tr>
<td><%= item.name %></td>
<td><%= item.price %></td>
<% item.demand_items.each do |quantity| %>
<td><%= quantity.quantity %></td>
<td class="sub-total" style="padding-left: 30px;">
<%= subtotal(item.price, quantity.quantity) %></td>
<% break %>
<% end %>
<% end %>