这基本上就是我想要做的,但我想知道是否有办法在运行循环两次时做到这一点?
%table
%thead
%tr
- @widgets.each do |widget|
%th
= widget.name
%tbody
%tr
- @widgets.each do |widget|
%td
= widget.info
答案 0 :(得分:1)
没有。您的表示结构和数据结构之间存在(非常精细)不匹配。您的数据结构是具有两个属性的对象的集合,但您的表示结构包含第一个属性的集合和第二个属性的集合。
别担心。 ActiveRecord缓存对象,因此在第二次迭代中不会再次查询widget
。