Rails - comment faire une recherche basée sur un champ booléen? (Erreur MySQL)

Je suis en exécutant la requête suivante

@projects = @company.projects.where("active = ?", true).order("created_at ASC")

et j'obtiens le message d'erreur:

`ActiveRecord::StatementInvalid: Mysql::ParseError: You have an error in your SQL...`

l'erreur de points à la = '1'.

J'ai essayé beaucoup de variations sur ma requête mais je ne peut pas comprendre le problème. Comment puis-je résoudre ce problème?

Pourrait essayer de la remplacer ("active = ?", true) with ("active = ?", 1). Même si je dois admettre que je n'ai pas une db MySQL en cours d'exécution pour le tester, mais le manuel ne mettre la valeur booléenne TRUE vers le bas comme un alias de l'entier 1 - l'erreur ressemble les Rails où l'instruction est en essayant de passer le " 1 " comme une chaîne de caractères?

OriginalL'auteur sscirrus | 2011-02-16