我正在尝试验证我认为相当简单的事情。我有两个time_select属性“start_time”和“end_time”。我只是试图在控制器中验证用户输入的结束时间是否等于开始时间或开始时间之前。根本没有日期。我有一个验证方法,但无论用户输入什么,它总是出错。
相当新的铁轨并不禁让我觉得我缺少一些小东西。这种验证不应该起作用吗?
class Casenote < ActiveRecord::Base
validate :end_must_be_after_start
belongs_to :servicelog
default_scope { order(:id) }
private
def end_must_be_after_start
if :start_time >= :end_time
errors.add(:end_time, "must be after start time")
end
end
end
答案 0 :(得分:1)
您正在比较两个符号:start_time
和:end_time
。您需要比较两个属性start_time
和end_time
。
def end_must_be_after_start
if start_time >= end_time
errors.add(:end_time, "must be after start time")
end
end