Creación de slugs de URL para etiquetas con actos_as_taggable_on

Me gustaría crear slugs de URL para etiquetas administradas por la gema act_as_taggable_on. Por ejemplo, en lugar de URL comohttp://myapp.com/tags/5, Me gustaría tenerhttp://myapp.com/tags/my-tag (donde 'mi etiqueta' es el nombre único de la etiqueta).

En los modelos que creo yo, generalmente hago esto anulando el método to_param del modelo y creando un campo "slug" en el modelo para guardar el resultado del nuevo método to_param. Intenté hacer esto con el modelo Tag de ActsAsTaggableOn, pero no funciona.

De lo contrario, puedo anular cosas en la clase tag.rb de ActsAsTaggableOn de la siguiente manera:

# Overwrite tag class
ActsAsTaggableOn::Tag.class_eval do
  def name
    n = read_attribute(:name).split
    n.each {|word| word.capitalize!}.join(" ")
  end      
end

Sin embargo, si intento anular el método to_param en ese mismo bloque con una definición de método como:

def to_param
  name.parameterize
end

Rails sigue generando y responde a rutas con ID enteros en lugar del nombre parametrizado. De hecho en la consola si intento algo como

ActsAsTaggableOn::Tag.find(1).to_param

Se devuelve el ID entero, en lugar del resultado del método anulado to_param.

Prefiero no bifurcar la gema y personalizarla si hay alguna forma de hacerlo con mi propio código de aplicación. Gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta