J'ai un enregistrement actif Song
modèle avec un champ songhash
(chaîne (255)) qui contient un hachage Sha2. Lorsque je tente de trouver une chanson via rien de code suivant est renvoyée:Impossible de rechercher une chaîne longue dans ActiveRecord
song = Song.all.first
song2 = Song.where(songhash: song.songhash).first
# song is a valid object with a songhash set, but song2 is nil!
Si je fais la même chose mais avec un « comme » QUERY cela fonctionne:
song = Song.all.first
song2 = Song.where("songhash like ?", song.songhash).first
# song2 is a valid object now
song2.songhash == song.songhash
# the equation is true
Je crains qu'il a quelque chose à faire avec les encodages de chaînes, mais je ne sais pas pourquoi cette chaîne pourrait avoir des problèmes d'encodage: 61a9761b9ebd543b72c5ccf2ab6db198b067f7cf7f8412ee6e9c14b19611bc80
J'utilise les rails 3.1 avec sqlite db.
Des idées? Que se passe-t-il?
Que fait 'Song.find_by_songhash (song.songhash)' de retour? – Gazler
malheureusement, il retourne nul :-( – derhackler
Comment générez-vous le hachage? Il n'y a pas d'espace présent dans le hachage est là?Avez-vous essayé d'utiliser le hachage directement, pas comme une variable? – Gazler