acts_as_taggable_on与集合

时间:2011-01-18 05:51:44

标签: ruby-on-rails ruby acts-as-taggable-on

我有一个属于某个类别的产品列表。每个产品都有标签。请参阅以下示例(伪代码)

Category = transport
Products = car, train, bus

car has tags = small, fast
train has tags = fast, large
bus has tags = slow, large

如何列出运输类别中产品的所有代码?结果应该是[“小”,“快”,“大”,“慢”]

1 个答案:

答案 0 :(得分:3)

定义一个数组来保存产品中的标签。迭代属于类别的产品。我假设,你有关系。从数组中删除重复项(如果有)。

@tags = [] 
@category.products.each { |p| @tags << p.tags }
@tags.uniq!