隐式演员之前的验证

时间:2015-01-13 13:57:01

标签: ruby-on-rails validation casting type-conversion implicit-conversion

我有一个属性应该只是数字的模型。所以我添加了

validate :attribute, numericality: true

如果我尝试在控制台中创建一个新类型的对象,给出一个字符串" abc"对于该属性,我甚至在验证之前将其转换为0。所以我没有任何错误。

是否有可能完全避免隐式演员或至少在其之前进行验证? 我还尝试添加:on:在之前的验证中创建,但它没有工作。

1 个答案:

答案 0 :(得分:0)

  before_validation(on: :create) do
      if attribute_present?("number")
        ##process ahead with self.number
      end
  end