显示组数据的最佳方式是什么?
目前在我的控制器中我有:
@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>
答案 0 :(得分:1)
我认为group_by方法可以满足您的需求。这里有一个很好的概述:http://railscasts.com/episodes/29-group-by-month
答案 1 :(得分: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