rails 在两个表中划分循环。导轨视图,新手
Posted
技术标签:
【中文标题】rails 在两个表中划分循环。导轨视图,新手【英文标题】:rails divide loop in two tables. rails view, newbie 【发布时间】:2012-12-28 01:11:14 【问题描述】:想知道将视图中模型上的循环拆分到两个表上的最佳方法是什么。看起来很简单。
<div>
<table>
<tr><th>Refreshments and Exhibits</th></tr>
<% @exhibitor.each do |exhibitor| %>
<tr>
<td><%= exhibitor.name %></td>
</tr>
<% end %>
</table>
</div>
<div>
<table>
<tr><th>Refreshments and Exhibits</th></tr>
<% @exhibitor.each do |exhibitor| %>
<tr>
<td><%= exhibitor.name %></td>
</tr>
<% end %>
</table>
</div>
这会显示同一张表两次。我想循环遍历@exhibitor 以填充第一个表中的 td,限制为 15。然后继续循环遍历第二个表的 exhibitor.name 的其余部分。
【问题讨论】:
【参考方案1】:如果您想要 15 人的桌子,请这样做
<% @exhibitors.each_slice(15) do |exhibitors_group| %>
<div>
<table>
<tr><th>Refreshments and Exhibits</th></tr>
<% exhibitors_group.each do |exhibitor| %>
<tr>
<td><%= exhibitor.name %></td>
</tr>
<% end %>
</table>
</div>
<% end %>
如果您想要前 15 个,其他表中的其余部分执行此操作
<div>
<table>
<tr><th>Refreshments and Exhibits</th></tr>
<% @exhibitor[0..15].each do |exhibitor| %>
<tr>
<td><%= exhibitor.name %></td>
</tr>
<% end %>
</table>
</div>
<div>
<table>
<tr><th>Refreshments and Exhibits</th></tr>
<% @exhibitors[16..-1].each do |exhibitor| %>
<tr>
<td><%= exhibitor.name %></td>
</tr>
<% end %>
</table>
</div>
你还应该考虑两件事:
为这些表格使用助手或布局 不要在视图中对数组进行切片,而是在控制器中进行【讨论】:
each_slice() 并没有完全做到这一点。如果超过 30 个项目,则将有第三个表。我认为答案必须是前 15 个,然后是其余的 其实你可以把@exhibitors.each_slice((@exhibitors.count/2.0).ceil)) 和你总是有两个相同长度的表。以上是关于rails 在两个表中划分循环。导轨视图,新手的主要内容,如果未能解决你的问题,请参考以下文章