我已经建立了两个型号: userpost. 。每个 post belongs_to 一种 user. postS还使用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]}

也许有一种更好的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top