El otro día cuando hablábamos de poder taggear modelos, os puse el ejemplo de las nubes de tags que vemos en innumerables ocasiones, sin embargo sólo avanzamos hasta disponer de un modelo tageable.
Ahora os voy a mostrar cómo se podría construir la nube de tags partiendo de lo que hicimos.
Lo primero, es que nuestra aplicación necesita utilizar un método llamado tag_cloud, que es el que se va a encargar de pintar la nube de tags, para ello hacemos que nuestro AplicationHelper incluya el helper que contiene el método:
module ApplicationHelper include TagsHelper end
Nos basta con añadir esto al helper del controlador concreto, pero dada la implementación del plugin creo que querréis crear más nubes de tags para otros modelos, por lo que he preferido tener disponible estos métodos para toda la aplicación.
Ahora Necesitamos cargar en nuestro controlador lo que va a ser mostrado en la vista:
@tags = Entry.tag_counts
Y por último nos vamos a la vista y añadimos la nube de tags:
<% tag_cloud @tags, %w(css1 css2 css3 css4 css5) do |tag, css_class| %>
<%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
<% end %>
para que esta pueda tener el efecto adecuado, necestitáis definir los siguiente estilos en la vista:
.css1 { font-size: 1.0em; }
.css2 { font-size: 1.4em; }
.css3 { font-size: 1.6em; }
.css4 { font-size: 1.8em; }
.css5 { font-size: 2em; }
estos deberíais adaptarlos en tamaño según vuestro diseño, ¿sencillo verdad?

Yo también soy un gran fan de acts_as_taggable_on_steroids. Sobre la tag cloud, mencionaría que conviene poner un límite porque si tenemos muchas tarda lo suyo en generarse. Algo así:
Model.tag_counts :limit => 100
Gracias por la anotación, hasta ahora no había llegado a tener un gran número de tags, aunque en una aplicación que estoy haciendo en estos momentos, veo que esto me va a resultar bastante útil.