在Rails中有一种更好的方法来迭代这个结构

时间:2013-06-29 17:25:01

标签: ruby-on-rails iteration haml

这基本上就是我想要做的,但我想知道是否有办法在运行循环两次时做到这一点?

%table
  %thead
    %tr
      - @widgets.each do |widget|
        %th
          = widget.name
  %tbody
    %tr
      - @widgets.each do |widget|
        %td
          = widget.info

1 个答案:

答案 0 :(得分:1)

没有。您的表示结构和数据结构之间存在(非常精细)不匹配。您的数据结构是具有两个属性的对象的集合,但您的表示结构包含第一个属性的集合和第二个属性的集合。

别担心。 ActiveRecord缓存对象,因此在第二次迭代中不会再次查询widget