获得红宝石基质

时间:2012-01-01 13:26:29

标签: ruby ruby-on-rails-3

我有一个如下所示的数据结构(矩阵):

ruby-1.9.2-p290 :060 >   current_user.watchlists.map{|l|l.tags_array}
 => [[], [], ["tag1", "tag2", "tag3"], [], [], ["tag2", "tag3"], [], [], ["tag4"], []] 
ruby-1.9.2-p290 :061 >

我想遍历结构以得到这样的结果:

"tag1" "tag2" "tag3" "tag4"

我该怎么做?

1 个答案:

答案 0 :(得分:3)

current_user.watchlists.map(&:tags_array).flatten.uniq.sort

更好的是,如果可以,请User has_many :tags, :trough => :watchlists然后:

current_user.tags.order_by(:name)