Shiny happy people coding

Codons avec le sourire

Les Merb pretty URL

| Comments

Si comme moi vous être un fan des pretty URL, vous savez surement comment faire avec RubyOnRails. Il suffit de modifier le retour de la méthode to_params. Utilisant Merb, j’ai voulu faire de même avec Merb. J’ai bien sûr commencé par modifier la méthode to_params. Hélas, ce n’est pas du tout la bonne méthode à suivre avec Merb. Mais finalement, la méthode est encore plus simple. Ce qu’il faut c’est utiliser l’option :identify pour votre resources dans votre routeur. J’ai ainsi pu pour Oupsnow définir la méthode ticket_permalink comme méthode définissant un ticket. Je n’ai plus ensuite qu’a définir ce que je souhaite comme retour de permalink. Cette string de retour sera ainsi utilisée dans les URL générées par resource. En créant ensuite la méthode def self.get_by_permalink(ticket_permalink) que j’utilise à la place d’un Ticket.get(id). je peux facilement modifier mon permalink dans le temps. En mettant ma valeur de retour de permalink et de récupération de ticket par ce permalink à jour.

Ce qu’il faut par contre savoir, c’est que contrairement à Rails, le paramètre utilisé ne sera donc plus id et ticket_id dans les routes imbriquées. Ça sera obligatoirement ticket_permalink.

English translation