我有这堂课:
class Project < ActiveRecord::Base
validates :hourly_rate, :numericality => { :greater_than_or_equal_to => 0 },
:allow_blank => true
def hourly_rate=(number)
self.hourly_rate_in_cents = number.present? ? number.to_d * 100 : nil
end
end
本质上,hourly_rate
用户输入的任何新数据都将作为整数保存到数据库中。
这对数字非常有效。
但是任何string
正在输入的内容都会自动转换0.0
并保存,而无需任何验证消息!
没有办法使用 Rails 的任何验证方法来验证这一点吗?
谢谢你的帮助。