我正在制作一个显示带桌子的房间的视图。每个表都有行和位置数据。我想将每一行表放在自己的div元素中。
现在我在按行和位置排序的一个块中显示所有表:
<% for table in @room.tables.order(row: :asc, position: :asc) %>
<div class="col-md-2 col">
<div class="table">
<h4 class="table-name"><%= table.name %></h4>
</div>
</div>
<% end %>
如何有效地包装div中的每一行?我的想法:
1)在视图中创建跟踪变量。当下一个表有一个递增的行时,关闭当前的div并打开另一个。这似乎不够优雅。
2)通过创建一个数组进行预处理,其中每个条目都是模型中的一行表,并将其作为变量提供给视图。这似乎是低效的,因为它会在移动到视图之前循环遍历列表(解决方案1将在视图中仅在列表中移动一次)。