validates_numericality_of私は、モデル内のデータを検証して、RSpecのを使用してこのモデルをテストする必要があります。ここでは検証が失敗し、
は、モデルでの検証です:
validates_presence_of :sales_price
validates_presence_of :retail_price
validates_numericality_of :sales_price, :greater_than => 0
validates_numericality_of :retail_price,:greater_than => 0
validates_numericality_of :sales_price, :less_than => :retail_price,
:message => "must be less than retail price."
私がしようとしているとき私はこのエラーを取得し、この
it { should validate_presence_of :sales_price }
it { should validate_presence_of :retail_price }
it { should validate_numericality_of :sales_price }
it { should validate_numericality_of :retail_price }
のようなテストカントーモデル
Failure/Error: it { should validate_presence_of :retail_price }
ArgumentError:
comparison of Float with nil failed
# ./spec/models/offer_option_spec.rb:19:in `block (2 levels) in <top (required)>'
どうすればこの問題を解決できますか?
おそらく、それを見る別の方法です: 'validates_presence_of'が必要ですか? validates_numericality_ofはすでに 'retail_price'がnilでないことを保証します。 'sales_price'ではうまく動作しますが、' retail_price'では動作しないのは奇妙なようです。 – sled