Un jour, une gem

24/03/2012

Samedi c'est FriendlyId

gem install friendly_id

Des urls drôlement sexy

Une application avec l’ID dans l’url c’est moche. Que diriez-vous de voir vos url passer de :

http://example.com/states/4323454

à :

http://example.com/states/washington

?

Et le tout avec une petite gem, avec des options qui donnent quelque chose dans le genre dans votre model :

extend FriendlyId
friendly_id :lattribut_en_question

Cela nous vous suffit pas ? Il y a encore l’attribut slug, aussi propre, mais quand il y a des caractères spéciaux.

Une migration pour le model concerné

add_column :model_en_question, :slug, :string
add_index :model_en_question, :slug

La modification du model devient :

friendly_id :lattribut_en_question, use: :slugged

Les liens utiles