【发布时间】:2011-12-15 20:41:07
【问题描述】:
我正在使用 Rails 3.0 和acts_as_taggable_on gem。我有一个糖果模型,糖果可以有多个口味标签。比方说
Candy1.tags #['apple', 'orange']
Candy2.tags #['orange', 'banana']
Candy3.tags #['apple', 'kiwi']
我想要一个标签列表以及它们下面的相关糖果,如下所示:
苹果
- 糖果1
- 糖果3
橙色
- 糖果1
- 糖果2
...等等。
我试过了
Candy.all.group_by{ |candy| candy.tags }
但这会将标签数组视为单个实体,返回如下内容:
['苹果','橙色']
- 糖果1
['橙色','香蕉']
- 糖果2
缺少 group_by_each 方法,最好的方法是什么? Another Stack Overflow question 解释了如何使用简单的哈希在内存中执行此操作,但我想知道是否有更面向数据库的方式来使用 ActiveRecord 关联。
【问题讨论】:
标签: ruby-on-rails group-by acts-as-taggable-on