小编not*_*ess的帖子

Rails验证方法比较两个字段?

我的模型有两个字段,我想作为验证的一部分相互比较.我想确保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都是零.我以为我跟着我发现的很多例子,但显然不是.我错过了什么?

谢谢.

ruby ruby-on-rails ruby-on-rails-3

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1