Table de correspondance type Ruby et type MySQL:
| Type SQL | Classe Ruby |
|---|---|
| int, integer | Fixnum |
| decimal, numeric | Float |
| interval, date | Date |
| clob,blob,text | String |
| float, double | Float |
| char, varchar, string | String |
| datetime, time | Time |
| boolean | compliqué... |
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:
Enregistrer un commentaire