| 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.
Sobreescribe el método to_param para incluir el título además del id.
# 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