J'ai une condition Ruby on Rails qui fonctionne dans MySQL, mais pas dans PostgresPGError: ERREUR: erreur de syntaxe à ou près E'String »
:conditions => ["A between ? and ? and B between ? and ? and C between ? and ? and ddd is ?",@amin,@amax,@bmin,@bmax,@cmin,@cmax,params[:input].to_s]
génère l'erreur:
ActiveRecord::StatementInvalid (PGError: ERROR: syntax error at or near "E'word'"
LINE 1: ...c between -100 and 100 and ddd is E'word')
I sachez que cela fonctionne sans la dernière comparaison. Par exemple. Ddd est de type: string alors que a, b et c sont tous: décimal.
:conditions => ["A between ? and ? and B between ? and ? and C between ? and ?",@amin,@amax,@bmin,@bmax,@cmin,@cmax]
Après avoir fait quelques recherches sur Postgresql, il semble que les chaînes E 'sont des chaînes échappées - cela ne m'aide pas car je n'arrive pas à le corriger. Je ne travaille pas très souvent avec le Postgresql donc je m'excuse d'avance si c'est quelque chose d'évident. J'utilise heroku pour l'hébergement, donc je ne peux pas modifier les paramètres Postgresql. Quoi qu'il en soit, je préférerais vraiment comprendre quel est le problème et comment le réparer.
Cheers, Stu
C'est tout - parler de se sentir comme un idiot - acclame. – Stu