【发布时间】:2012-05-22 11:06:03
【问题描述】:
在 Rails 应用程序中,我在模型上有几个整数属性。
用户应该能够创建记录并将这些属性留空。
或者,如果用户为这些属性输入值,则应验证它们的数值并在一定范围内。
在模型中我有这样的东西
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."
如果我现在使用要保存的最低要求属性进行测试:
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
我明白了
Validation failed: a can only be whole number., a can only be between 1 and 999.
如何仅在为 :a 提供值的情况下验证数字性和包含性,同时在某些情况下仍允许 :a 为 nil?
谢谢
【问题讨论】:
标签: ruby-on-rails