我的模型有两个字段,我想作为验证的一部分相互比较.我想确保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
Run Code Online (Sandbox Code Playgroud)
得到错误
undefined method `>' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
所以,start_time和/或end_time都是零.我以为我跟着我发现的很多例子,但显然不是.我错过了什么?
谢谢.