我有这个类:如何在Rails中验证虚拟属性?
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的验证方法?
感谢您的任何帮助。