1

我想写如下的包含验证器:

validates :application_date,
  inclusion_of: { in: Date.today..20.years.from_now }

# Schema
#  application_date       :date

但我明白了

bad value for range
4

1 回答 1

3

您收到该错误的原因20.years.from_now是返回一个日期时间对象 (ActiveSupport::TimeWithZone) 并Date.today返回一个日期。因此,您的范围将不起作用,因为它使用两种不同的对象类型。您可以通过将后者转换为日期来修复它:

Date.today..20.years.from_now.to_date
于 2013-02-04T13:41:00.187 回答