我有一列,可以是正的,也可以是负的,但绝不是零。我正在做以下似乎不起作用的操作:
class Transaction < ActiveRecord::Base
validates :amount, presence: true
validates :amount, :numericality => { :not_equal_to => 0 }
.
.
.
这是我的测试
let(:transaction) { FactoryGirl.build(:transaction) }
it "is invalid if amount is zero" do
transaction.amount = 0
expect(transaction).to have(1).error_on(:amount)
end
这是我的工厂:
FactoryGirl.define do
factory :transaction do
sequence(:description) { |n| "Transaction #{n}" }
category_id nil
amount -100
notes nil
fund_id 1
end
end
如何判断数字是正数还是负数?我还做错了什么吗?
谢谢
您想要:other_than
,而不是:not_equal_to
validates :amount, :numericality => { :other_than => 0 }
查看validates_numericality_of
的所有选项的文档