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 に答える