Trong ứng dụng Rails, tôi có một số thuộc tính số nguyên trên mô hình.Làm cách nào để xác thực tính số và đưa vào trong khi vẫn cho phép thuộc tính là không trong một số trường hợp?
Người dùng có thể tạo bản ghi và để trống các thuộc tính này.
Hoặc nếu người dùng nhập giá trị cho các thuộc tính này, chúng phải được xác thực cho số lượng và trong một phạm vi nhất định.
Trong mô hình tôi có một cái gì đó như thế này
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."
Nếu bây giờ tôi thử nghiệm với yêu cầu tối thiểu thuộc tính để tiết kiệm:
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
tôi nhận được
Validation failed: a can only be whole number., a can only be between 1 and 999.
Làm thế nào tôi có thể xác nhận tính hợp lệ và số chỉ khi một giá trị được đưa ra cho :a
, trong khi vẫn cho phép :a
là không trong một số trường hợp?
Cảm ơn
cảm ơn, câu trả lời hay –