Question

Comment puis-je répliquer les noms d'utilisateur Twitter dans une URL insensible :

Et que toutes ces URL ouvrent la page utilisateur lorsqu'il a enregistré son nom d'utilisateur sous "MY_Name" ou etc.

Et la méthode Model.find('my_NAmE') recherche l'enregistrement utilisateur nommé MY_Name.

Était-ce utile?

La solution

La façon dont vous rendez la comparaison insensible à la casse consiste à normaliser la casse à la fois dans la base de données et dans l'entrée de recherche, de sorte que la recherche renvoie toujours le résultat, quel que soit le cas d'entrée.

  1. Réduisez toujours les noms d'utilisateur avant de les enregistrer dans la base de données

  2. Utiliser Model.find(params[:id].to_s.downcase) ou méthode personnalisée pour effectuer une recherche insensible à la casse

Te voilà.

Si vous ne souhaitez pas modifier la casse du nom d'utilisateur d'origine, ajoutez une deuxième colonne à la table user où vous stockez la version réduite.Effectuez ensuite la recherche sur ce champ au lieu du champ utilisateur d'origine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top