Rails 3在循环内显示计数

时间:2012-02-20 20:24:22

标签: ruby-on-rails-3

以下显示按主题分组的文档列表,每个文档的名称是数据包类型的名称。如何显示每个数据包类型名称的计数?例如,如果第一个主题有两个文档,并且它们的数据包类型名称是“类”,那么如何在数据包类型名称旁边显示“第1类2”和第2类“2”?

控制器:

class DevelopController < ApplicationController

    def index
        list
            render('list')
    end

    def list
            @subjects = Subject.includes(:documents => :packet_type)            

    end

end

视图:

<ol>
    <% @subjects.each do |subject| %>
    <li><%= subject.subject_name %>
        <ul>
            <% subject.documents.each do |document| %>
          <li><%= document.packet_type.name %></li>
    </li>
           <% end %> 
       </ul>
   <% end %>
</ol>

1 个答案:

答案 0 :(得分:2)

您可以使用.size.count获取总计数。要获取当前索引,您可以使用each_with_index代替each。这是一块银盘:http://apidock.com/ruby/Enumerable/each_with_index:)