我想知道如何限制标签的数量,这个插件的 tag_cloud 函数返回。 http://github.com/collectiveidea/acts-as-taggable-on
另外,我想知道如何对其进行排序,以便按最高计数对标签进行排序。所以最受欢迎的是在顶部。
我试图做 @tags = Post.tag_counts_on(:tags, :limit => 5) 但这没有用。
Controller :
class PostController < ApplicationController
def tag_cloud
@tags = Post.tag_counts_on(:tags)
end
end
看法:
<% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %>
<%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
<% end %>
谢谢!
最佳答案
确保您使用的是来自 github 的最新插件版本。它确实在那里工作,并且在某些早期版本中不起作用。
那么最高计数的前 5 名将是:
@tags = Post.tag_counts_on(:tags, :limit => 5, :order => "count desc")
关于ruby-on-rails - 限制作为可标记行为的标签数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2893237/