Salut, comme mon titre l’inddique, je recherche dans des activerecords
ceux conformes à une chaîne de recherche qui peut être “L’Histoire”.
Dans ce cas, je reçois une exception ActiveRecord::StatementInvalid
avec le message
SQLite3::SQLException: unrecognized token: "! ": SELECT * FROM aliases
WHERE (text = ‘L’Histoire’) LIMIT 1
Que puis-je faire pour qu’au lieu d’avoir cette exception, j’aie des
résultats ?
Dans le même ordre idée, comment puis-je insérer des caractères comme
“ê” en Unicode dans ma base ?
–
Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.
Si le problème existe c’est dû au fait que Nicolas construit le SQL à la
main. Il vaut mieux utiliser ActiveRecord pour construire la requête
avec des placeholders :
Il aurait été judicieux de donner le code qui foire dès le début,
on aurait évité les suppositions “Ah il a ptêtre écrit le code SQL
à la main”
Désolé d’avoir oublié cette règle de base.
Les logs c’est bien, mais le code associé au log, c’est mieux…
Tiens, en parlant de ça, un des trucs qui me manque le plus avec
Rails, c’est l’écriture de logs à la log4j. Bien sûr, j’imagine qu’il
doit exister quelques chose de comparable, mais où ? et comment
fait-on pour définir un log level ? Bref, toutes les questions de base
sur les logs.
Il faut toujours passer par des placeholders (pb de SQL injections)
Faudra que je dise ça à l’auteur initial du code …
page_alias = Alias.find_by_text(page_name)
Il va retourner le premier alias, ou tous les alias ?
Merci encore pour le coup de main
–
Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.