class Foo < ActiveRecord::Base {
starts_at datetime;
ends_at datetime;
}
如何执行检查以验证ends_at是否在starts_at之后?
答案 0 :(得分:3)
使用validate
宏并传递自定义方法。
class Foo < ActiveRecord::Base
validate :validate_timeline
protected
def validate_timeline
unless ends_at > starts_at
errors.add(:ends_at, "end date cannot precede start date")
end
end
end
答案 1 :(得分:1)
没有预定义的验证。
但是你可以perform custom validations
在这里,您可以这样做:
class Foo < ActiveRecord::Base
validate :ends_after_starting
private
def ends_after_starting
if starts_at > ends_at
errors.add(:ends_at, "can't be before starts_at")
end
end
end