我有这堂课:
class Project < ActiveRecord::Base
attr_accessible :hourly_rate
validates :hourly_rate, :numericality => { :greater_than => 0 },
:allow_blank => true,
:allow_nil => true
def hourly_rate
read_attribute(:hourly_rate_in_cents) / 100
end
def hourly_rate=(number)
write_attribute(:hourly_rate_in_cents, number.to_d * 100)
end
end
问题是我的 setter 方法没有按照我想要的方式运行。
在我的表单中,当我将hourly_rate
输入字段留空然后点击Update
时,a0
再次出现在输入字段中,就像变魔术一样,并且出现验证错误:Hourly rate must be greater than 0
谁能告诉我我在这里缺少什么?我希望该字段是可选的。
谢谢你的帮助!