considère que j'ai une migration comme suitne peut pas comprendre rails activerecord raisons transtypage
create_table :dummies do |t|
t.decimal :the_dummy_number
end
i instancier comme le
suivantdummy = Dummy.new
dummy.the_dummy_number = "a string"
puts dummy.the_dummy_number
la sortie de ce qui précède est
0.0
comment est-ce arrivé? puisque j'attribuer une mauvaise valeur ne devrait-elle pas soulever une erreur?
Le plus gros problème est le suivant.
Puisqu'il convertit automatiquement ma valider la méthode échoue lamentablement.
mise à jour validate -la méthode
validate :is_dummy_number_valid, :the_dummy_number
def is_dummy_number_valid
read_attribute(:the_dummy_number).strip()
end
Quelle méthode de validation utilisez-vous? si vous utilisez 'validates_numericality_of: the_dummy_number' cela devrait fonctionner correctement –
consultez la mise à jour – ZX12R
Votre méthode de validation ne fait aucune validation! –