2010-07-08 4 views
0

J'essaie de valider l'unicité sur une description d'article. Après l'avoir sauvegardé dans la BD, si je le récupère, il revient dans un format dépouillé (il manque des caractères). Si je mets un validateur sur l'unicité du texte dans le desc. il n'est pas appelé. Si je fais un find_by_desc cela échoue puisque le texte est légèrement différent. Des idées? Je sais que la table est UTF-8, mais vraiment la plupart des caractères sont quelques fins de ligne et quelques tirets (-) ici ou là. Pourquoi vous ne créez pas un code de hachage pour cela?Comparaison de chaîne avant et après sauvegarde de DB dans Rails?

+0

Il semble que si je les convertir en UTF avant de les enregistrer, puis la prochaine fois que j'essaie de sauver la même description, je reçois l'erreur que je veux: i = Iconv.new ('UTF-8', 'LATIN1') histoire = i.iconv (histoire [0]) mais cela semble hackish – tesserakt

+0

quel est le db que vous utilisez? –

+0

à ma connaissance, la plupart des db ne peuvent pas effectuer de comparaison ou de classement avec des champs de texte pour des raisons de performances, ce qui explique pourquoi la vérification de l'unicité ne fonctionne pas. En outre, vérifier l'unicité de la description de l'article semble étrange. Pouvez-vous expliquer un peu plus? –

Répondre

1

créez-le avant de sauvegarder, dans le contrôle de validation de la comparaison de hachage. Je ne suggère pas que vous puissiez comparer les champs TEXT

Questions connexes