0

显示组数据的最佳方式是什么?

目前在我的控制器中,我有:

@items = Item.order("group_name")

然后在我看来,我可以遍历它:

- @items.each do |item|
  %p= item.name

产生这样的东西的最干净和最有效的方法是什么:

<strong>Group Name 1</strong>
<p>Item 1</p>
<p>Item 2</p>
<strong>Group Name 2</strong>
<p>Item 1</p>
4

2 回答 2

1

我认为 group_by 方法可以满足您的需求。这里有一个很好的概述:http ://railscasts.com/episodes/29-group-by-month

于 2012-09-10T01:40:00.100 回答
1

控制器

@items = Item.sanitized_and_ordered

模型

class Item <<  ActiveRecord::Base
scope :ordered_group ,order('group_name')

class << self
   def sanitized_and_ordered
      ordered_group.group_by {|item| item.group_name}
   end
 end
end

看法

- @items.each_pair do |key,value|
  %p= key
   - value.each do |item|
      %p= item.name
于 2012-09-10T02:32:04.813 回答