0

Rails3.1を使用しています。次のようなモデル Product があります。

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 に答える