Salut,

J'ai un petit soucis lorsque je test de valider la class d'un objet:

Exemple, j'ai un model avec le schema suivant

create_table :tariffs do |t|
  t.column :price, :float
end


Maintenant dans le model je voudrai valider la class de price avant d'ajouter ou modifier un tarif.

je pensé à quelque chose du genre mais cela NE FONCTIONNE PAS:

def before_save
  raise "Oops wrong class" if !self.price.is_a(Float)
end


Il semble que ruby ou rails tranforme d'office la valeur en Float, au final si je fait:

Tariff.create(:price => 'a10')

Tous ce passera bien mais avec une 0 pour valeur de price. Je voudrai plutôt recevoir une erreur, hors je n'arrive pas à trouver ou mettre ma validation.

Dans la pratique, j'aimerai par la suite faire une petite lib ou plugin du genre: validates_class_of fonctionnant de la sorte

validates_class_of :price, :class => Float

--
  Sébastien Grosjean - ZenCocoon

_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Répondre à