Talvez tenha achado algo que reduza significativamente o trabalho de implementar tags. É um plugin para o Rails (ActiveRecord) que se chama acts_as_taggable.
Sugestão: quando formos implementar algo devemos sempre procurar um plugin do Rails que o faça, existe uma quantidade enorme de plugins para o Rails, que resolvem uma série de problemas comuns.
http://rubyforge.org/projects/taggable/
Atualização:
Este post, comenta que este plug-in está ultrapassado, e recomenda a utilização do has_many_polymorphs para tags. Acho ele que já caminha mais na direção de um mecanismo de tags mais robusto e com “categorias”. Já está instalado no nosso projeto.
luiz.laydner respondeu em 20 Mai 2007 às 8:39 #
Legal… acho que vai ajudar bastante.
Andei procurando info sobre esse act_as_taggable. Me parece que existem duas coisas diferentes: um plugin e uma gem
http://rails.co.za/articles/2006/06/04/acts_as_taggable-plugin-docs
O plugin foi feito pelo criador do rails, e está mais enxuto. Utiliza somente uma tabela, com polimorfismo, para colocar tags nos modelos.
O gem, (http://rubyforge.org/projects/taggable/), precisa ter tabelas de join entre cada modelo e a tabela de tags.
“All tag names will be stored in this tags table. Taggable objects should reside in their own tables, like any other object. Tagging objects is perfomed by the acts_as_taggable mixin using a has_and_belong_to_many relationship that is automatically created on the taggable class, and as so, a join table must exist between the tags table and the taggable object table.”
Pra instalar o plugin: ruby script/plugin install acts_as_taggable