Rails 4 :(充当可标记的)仅基于特定用户帖子创建标签云

时间:2015-06-18 19:48:35

标签: ruby-on-rails-4 tag-cloud acts-as-taggable

我正在尝试使用我的控制器中的用户微博(显然是该用户的每个标签的计数)创建一个标签云

          @tags = @user.microposts.tag_counts_on(:tags)

这在我看来

         <% tag_cloud @tags, %w[xxs xs s m l xl xxl] do  |tag, css_class|  %>
         <%= link_to tag, questions_by_tag_user_path(@user, tag: tag.name), class: css_class %>
         <% end %>

问题是,经过反复检查后,这将返回标签云,其大小基于所有微博的标签计数,而不仅仅是@user的标签。

我无法理解为什么会这样,并且文档已被弃用:

        User.find(:first).posts.tag_counts_on(:tags)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您要在帖子范围内调用tag_counts_on,这将有效:

Post.where(user_id: 1).tag_counts_on(:tag)