Avec la solution d'Alexis, l'unicité du permalink n'est pas indispensable, vu que l'identifiant est toujours présent : /posts/12-my-post-title
Ceci fonctionne car "12-my-post-title".to_i == 12 Ce qui semble important niveau SEO, c'est de rediriger si le permalink n'est pas le bon (par exemple si le titre du post a été modifié). Il faut alors faire : redirect_to @post, :status => 301 if @post.to_param != params[:id] -- Emilien http://emilientaque.fr 2010/1/17 Alexis Perrier <[email protected]>: > Super, merci pour les friendly_id, je vais regarder > suis d'accord avec Alexis, ça tient en quelques lignes et un plugin > est un peu overkill > > En fait il faut simplement > - une regex qui transforme le titre en permalink > - le permalink dans la base > - l'unicité du permalink > - et le to_param pour (suis pas familier avec to_param, je vais > regarder) > > Merci en tout cas > Alexis > > > On Jan 17, 9:34 am, Alexis Bernard <[email protected]> wrote: >> Je n'utilise pas de plugin pour une fonctionnalité qui tient en 3 lignes. >> >> class Post < AR::Base >> def to_param >> "#{id}-#{title.parameterize}" >> end >> end >> >> Et c'est tout aucune autre modification de code à faire. >> >> Le 16 janvier 2010 18:08, Sébastien Gruhier <[email protected]> a écrit : >> >> > oui autant pour moi :) >> >> > On Jan 16, 2010, at 6:06 PM, Bruno Michel wrote: >> >> > > Sébastien Gruhier wrote: >> > >>http://github.com/tkadom/friendly_idest parfait >> > >> En plus il est très configurable >> >> > >> Seb >> >> > > Pour ma part, je recommandehttp://github.com/norman/friendly_id. Chose >> > > marrante, ce plugin porte le même nom que celui proposé par Sébastien, >> > > et j'aurais utilisé les mêmes termes pour décrire celui que je propose >> > > (parfait et très configurable). Pourtant, il semblerait que ce soit deux >> > > plugins différents. >> >> > > Histoire de faire pencher la balance, je dirais juste que >> > >http://github.com/norman/friendly_ida l'air mieux maintenu que >> > >http://github.com/tkadom/friendly_id. >> >> > > ++ >> > > Bruno >> > > -- >> > > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" >> > de Google Groups. >> > > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> > [email protected] >> > > Pour résilier votre abonnement envoyez un e-mail à l'adresse >> > [email protected] >> >> > -- >> > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de >> > Google Groups. >> > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> > [email protected] >> > Pour résilier votre abonnement envoyez un e-mail à l'adresse >> > [email protected] > > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] >
-- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
