jeudi, juin 22, 2006

[Rails] Table de correspondance type Ruby et type MySQL

Table de correspondance type Ruby et type MySQL:
Type SQLClasse Ruby
int, integerFixnum
decimal, numericFloat
interval, dateDate
clob,blob,textString
float, doubleFloat
char, varchar, stringString
datetime, timeTime
booleancompliqué...

Cas particulier du Boolean: le problème c'est que pour Ruby tout ce qui n'est pas nil ou la constante false est interprété comme true. Donc si la colonne contient 0 pour dire false, ruby va croire que c'est vrai...
Pour interpréter 0 comme false, il faut ajouter ? à l'attribut, exemple: user.admin? avec admin un colonne type TINYINT.

Aucun commentaire: