[Rails] Find ne trouve pas… - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Rails] Find ne trouve pas… (/showthread.php?tid=5598) |
[Rails] Find ne trouve pas… - Viciousity - 28-07-2011 Bonjour, Depuis cette après midi je me rend compte que mon application ne tourne plus du point de vue de la session utilisateur. En effet, il semble que la méthode find ne fasse plus de comparaison correcte. Je m'explique, une fois logué, je met en session(cookie) le contenu d'un champ persistence_token de ma table de donnée. Ainsi je retrouve mon utilisateur et ses infos par le biais de ce cookie.
Le problème est que le cookies contient bien ma chaine "persistence_token" mais que active_record ne semble pas retrouver l'utilisateur qui correspond. J'ai donc essayer dans la console de faire :
Franchement je ne comprend pas ... Je suis ruby 1.9.2, Rails 3.1-RC5 (cependant j'ai essayé en RC4 -> RC1 sans résultat) RE: Rails : Problème avec find - Sephi-Chan - 28-07-2011 Que contient le log pour l'appel à current_user ? RE: Rails : Problème avec find - Viciousity - 28-07-2011 Ben rien du tout d'anormal ... Le log de la requete SQL et la réponse qui est nulle, c'est sa qui est étrange ... RE: Rails : Problème avec find - Sephi-Chan - 28-07-2011 Rails 3.1 étant testé et en RC depuis plusieurs mois, je ne pense pas qu'un bug aussi gros puisse passer inaperçu. Je pense donc que l'erreur vient de toi. As-tu activé le nouveau système d'entity map ? En tout cas, j'aimerai bien voir :
Voilou ! RE: Rails : Problème avec find - Viciousity - 29-07-2011 La réponse est trouvée. Elle vient de la méthode utilisée pour la génération aléatoire.
Cependant ActiveR ne semble pas vouloir comparer da chaine en Hex... Pourquoi? Je ne sais pas et je ne comprend pas car meme avec un "to_s", cela ne fixe pas le probleme. RE: Rails : Problème avec find - Sephi-Chan - 29-07-2011 Les chaînes contiennent des caractères hexa mais sont des chaînes classique. J'utilise également SecureRandom.hex pour mes tokens et ça marche très bien. Je pense que le problème vient d'ailleurs. Cela dit, je ne peux pas t'aider si tu ne veux pas donner d'information. |