En una aplicación de Rails tengo varios atributos enteros en un modelo.¿Cómo validar la numeración e inclusión al tiempo que permite que el atributo sea nulo en algunos casos?
Un usuario debería poder crear un registro y dejar estos atributos en blanco.
O, si el usuario ingresa valores para estos atributos, deben ser validados por su número y dentro de un cierto rango.
En el modelo que tengo algo como esto
validates_presence_of :name
validates_numericality_of :a, :only_integer => true, :message => "can only be whole number."
validates_inclusion_of :a, :in => 1..999, :message => "can only be between 1 and 999."
Si ahora prueba con el mínimo requerido atribuye a ahorrar:
factory :model do
sequence(:name) { |n| "model#{n}" }
end
it "should save with minium attributes" do
@model = FactoryGirl.build(:model)
@model.save.should == false
end
me sale
Validation failed: a can only be whole number., a can only be between 1 and 999.
¿Cómo puedo validar la numericalidad y la inclusión solo si se da un valor para :a
, mientras se permite :a
para ser nil en algunos casos?
Gracias
gracias, gran respuesta –