: greater_than_or_equal_to in validates_numericality_of ne fonctionne que partiellement dans les rails 3.1
Nous sommes à l'aide de la procédure suivante pour vérifier si stock_qty (un entier ou un flottant. Pourrait être de zéro, mais non nul) est supérieur ou égal à zéro:
validates_numericality_of :stock_qty, :greater_than_or_equal_to => 0
validates_numericality_of :stock_qty, :less_than_or_equal_to => :in_qty, :if => Proc.new { |part| !part.in_qty.nil? }
:in_qty est une colonne dans la partie modèle. Cette validation doit permettre positif ou 0 pour :stock_qty. Le problème est que la rspec échec si :stock_qty est attribué à zéro. J'ai remarqué que :less_than_or_equal_to seulement permis less_than et ne permettent pas equal_to. Est-il un moyen de valider l' >= ou <= dans les rails 3.1? Ou ce qui peut aller mal avec notre code de validation ci-dessus. Merci beaucoup.
source d'informationauteur user938363
Vous devez vous connecter pour publier un commentaire.
essayez d'ajouter
:only_integer => true
comme suit:MODIFIER
si cela doit se passer quand stock_qty néant ou zéro, vous devez modifier votre code:
il fonctionne dans ma 3.1 application, dans mon cas, j'ai des prix, et quand je l'ai mise à jour ou d'ajouter le produit wthout prix j'ai eu l' "il n'est pas un numéro d'erreur", ou quelque chose comme ça, mais je peux mettre un 0 dans la colonne des prix et des mises à jour de l'amende juste. espérons que cette aide.
:
greater_than_or_equal_to –
Spécifie la valeur doit être supérieure ou égale à la valeur fournie. Le message d'erreur par défaut de cette option est “doit être supérieur ou égal à %{count}”.http://guides.rubyonrails.org/active_record_validations_callbacks.html
Aussi vous avez pu croire qu'il y avait 0 alors qu'il y avait
nil
.nil
ne passera pas cette vérification.