我有這個類:如何在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的驗證方法?
感謝您的任何幫助。