0

我正在使用rails 3.1。我有一个模型产品是这样的:

class Product < ActiveRecord::Base
  attr_accessor :output_unit
  ...
  validates_numericality_of :output_unit, greater_than_or_equal_to => 0, :on => update
  ...
end

当我尝试更新产品并在此字段中引入数字时,表单消息显示“输出单位不是数字”。

非常感谢!

4

1 回答 1

0

您可以编写方法output_unit_before_type_cast并返回self.output_unit,试试这个:

 attr_accessor :output_unit

 validates_numericality_of :output_unit, :only_integer => true, greater_than_or_equal_to => 0, :on => update

 def output_unit_before_type_cast
    self.output_unit
 end

或者

 attr_accessor :output_unit
 validates :output_unit, :numericality => { :only_integer => true, :greater_than_or_equal_to => 0, :on => update }

 def output_unit_before_type_cast
    self.output_unit
 end
于 2013-05-27T19:59:19.030 回答