以下を使用して、stock_qty (整数または浮動小数点数。ゼロである可能性がありますが、nil ではない) がゼロ以上かどうかを確認します。
validates_numericality_of :stock_qty, :greater_than_or_equal_to => 0
validates_numericality_of :stock_qty, :less_than_or_equal_to => :in_qty, :if => Proc.new { |part| !part.in_qty.nil? }
:in_qty は部品モデルの列です。この検証では、:stock_qty に正または 0 を許可する必要があります。問題は、:stock_qty がゼロに割り当てられた場合に rspec が失敗することです。:less_than_or_equal_to では、less_than のみが許可され、equal_to は許可されないことに気付きました。Rails 3.1 で >= または <= を検証する方法はありますか? または、上記の検証コードで問題が発生する可能性があります。本当にありがとう。