1

我有带有:balance字段的用户模型(它是浮点类型)。我想为这个字段编写我自己的验证,但是我想在它仍然是一个字符串并且 Rails 还没有将它转换为浮点数时访问这个值。我的意思是,我想做这样的事情:

class User < ActiveRecord::Base
  validate :check_balance

  def check_balance
    if balance.is_a?(String)
      # do my validation, add errors and etc.
    end
  end
end

我怎样才能做到这一点?

PS validates_format_of在我目前的情况下没有答案。

4

1 回答 1

1

<attribute>_before_type_cast返回 的原始值attribute

def check_balance
  if balance_before_type_cast.is_a?(String)
    // do my validation, add errors and etc.
  end
end
于 2012-07-23T11:30:00.680 回答