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]

Répondre à