Pierre :
> Bonjour à tous pour mon premier message sur cette liste,
> étant un nouvel utilisation
salut et bienvenue, mais tu seras le seul dans ce cas, car
ici il n'y a que des utilisateurs de Rails.
> (et déjà fan) de RoR.
>
> Je voudrais partager une méthode qui permet de convertir les accents
> en caractères correspondants non accentués.
> Je l'utilise pour générer des url propres en redéfinissant la méthode
> to_param
>
> Dois-je placer ce code pour l'utiliser partout dans Rails ?
>
> def self.normalize(str)
> n = str.chars.downcase.strip.to_s
> n.gsub!(/[àáâãäåāă]/, 'a')
> n.gsub!(/æ/, 'ae')
[snip : pleins de #gsub! ]
Pour compléter les dires de mes colistiers, si tu prends
l'option non Iconv, il faut pour des raisons de performances,
que tu minimises les appels à String#gsub! en utilisant aussi
String#tr!
Ensuite 2 remarques :
class XX < ActiveRecord::Base
def to_param
"#{id}-#{nom.gsub(/[^a-z1-9]+/i, '-')}"
end
end
1/ ça suppose que tous tes modèles AR::B possèdent
un attribut 'nom'
2/ Si le nom est une chaîne vide (voire le résultat de la
normalization donne une chaîne vide), tu peux obtenir
des trucs comme "395-"
-- Jean-François.
--
Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org )
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---