【问题标题】:Rails - validate Float type when it's still a StringRails - 当它仍然是一个字符串时验证浮点类型
【发布时间】:2012-07-23 11:13:31
【问题描述】:

我有 User 模型和 :balance 字段(它是 float 类型)。我想为这个字段编写我自己的验证,但是我想在它仍然是一个字符串并且 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

我该怎么做?

附: validates_format_of 在我目前的情况下不是答案。

【问题讨论】:

    标签: ruby-on-rails ruby validation


    【解决方案1】:

    &lt;attribute&gt;_before_type_cast 返回 attribute 的原始值:

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

    【讨论】:

      猜你喜欢
      • 2018-01-24
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多