has_and_belongs_to_many, evitando duplicados en la tabla de unión

Tengo un conjunto de modelos HABTM bastante simple.

class Tag < ActiveRecord::Base 
   has_and_belongs_to_many :posts
end 

class Post < ActiveRecord::Base 
   has_and_belongs_to_many :tags

   def tags= (tag_list) 
      self.tags.clear 
      tag_list.strip.split(' ').each do 
        self.tags.build(:name => tag) 
      end
   end 
end 

Ahora todo funciona bien, excepto que obtengo un montón de duplicados en la tabla de Etiquetas.

¿Qué debo hacer para evitar duplicados (bases en el nombre) en la tabla de etiquetas?

Respuestas a la pregunta(12)

Su respuesta a la pregunta