RAIRS:用户对大多数使用的ACTS_AS_AS_TAGGABABLE标签进行排序
-
28-09-2019 - |
题
我已经建立了两个型号: user
和 post
. 。每个 post
belongs_to
一种 user
. post
S还使用acts_as_taggable具有标签。在 UserController#show
我想列出用户使用的标签,从大多数使用中分类到较少使用的标签。
获取标签列表并不难,但是我该如何对它们进行分类?我用它来找到标签:
@tags = []
@user.posts.each do |post|
@tags += post.tags
end
谁能向我解释我如何对标签进行分类?谢谢。
解决方案
您可以使用插件提供的tag_counts方法:
@user.posts.tag_counts
更多信息在这里: http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids
编辑:
分类的基本简单代码:
@tags = Hash.new(0)
@user.posts.each do |post|
post.tags.each do |tag|
@tags[tag] += 1 if @tags.has_key?(tag)
end
end
# sorting
@tags.sort{|a,b| a[1] <=> b[1]}
也许有一种更好的方法。
不隶属于 StackOverflow