Module Sluggable
In: app/models/sluggable.rb

Módulo para las clases en las que se quiere que las URL contengan el título y no sólo el id.

Methods

to_param  

Public Instance methods

Sobreescribe el método to_param para incluir el título además del id.

[Source]

    # File app/models/sluggable.rb, line 5
 5:   def to_param
 6:     # Quitar todo lo que no sea letra o numero
 7:     words = title.tildes.strip.downcase.gsub(/[^a-z0-9]+/, ' ').split
 8:     # Sin palabras de 1 o 2 letras
 9:     long_words = words.collect {|w| w if w.length>2}.compact
10:     short_name = long_words.join('-')
11:     # short_name = short_name[0..60].sub(/-[^-]+$/, '') unless short_name.length <= 60 # Quitamos desde el final hasta el - anterior para no cortar palabras
12:     # Quitar guiones al principio o a final
13:     short_name = short_name.gsub(/-+$/, '').gsub(/^-+/, '')
14:     "#{id}-#{short_name}"
15:   end

[Validate]