【发布时间】:2011-06-19 08:34:48
【问题描述】:
我的模型有两个字段,作为验证的一部分,我想将它们相互比较。我想确定 end_time 在 start_time 之后。我写了一个验证方法来比较它们,但我一定做错了什么,因为值总是为零。有人可以帮忙吗?
class LogEntry < ActiveRecord::Base
validates :start_time, :presence => { :message => "must be a valid date/time" }
validates :end_time, :presence => {:message => "must be a valid date/time"}
validate :start_must_be_before_end_time
def start_must_be_before_end_time
errors.add(:start_time, "must be before end time") unless
start_time > end_time
end
end
得到错误
undefined method `>' for nil:NilClass
因此,start_time 和/或 end_time 为零。我以为我在遵循我找到的许多示例,但显然不是。我错过了什么?
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3