Ограничение количества тегов для актов как Taggable On - PullRequest
4 голосов
/ 24 мая 2010

Мне интересно, как ограничить количество тегов, функция tag_cloud возвращает для этого плагина. http://github.com/collectiveidea/acts-as-taggable-on

Кроме того, я хотел бы знать, как упорядочить его, чтобы он упорядочивал теги по наибольшему количеству. Так что самые популярные находятся на вершине.

Я пытался сделать @tags = Post.tag_counts_on (: tags,: limit => 5), но это не сработало.

Контроллер:

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 %>

Спасибо!

1 Ответ

6 голосов
/ 24 мая 2010

Убедитесь, что вы используете последнюю версию плагина от github. Это работает там, и это не работало в некоторых более ранних версиях.

Тогда топ 5 по наибольшему количеству будет:

@tags = Post.tag_counts_on(:tags, :limit => 5, :order => "count desc") 
...