我有一个属性应该只是数字的模型。所以我添加了
validate :attribute, numericality: true
如果我尝试在控制台中创建一个新类型的对象,给出一个字符串" abc"对于该属性,我甚至在验证之前将其转换为0。所以我没有任何错误。
是否有可能完全避免隐式演员或至少在其之前进行验证? 我还尝试添加:on:在之前的验证中创建,但它没有工作。
答案 0 :(得分:0)
before_validation(on: :create) do
if attribute_present?("number")
##process ahead with self.number
end
end