我想写下面这样的包含验证器:
validates :application_date,
inclusion_of: { in: Date.today..20.years.from_now }
# Schema
# application_date :date
但我有
bad value for range
出现此错误的原因是20.years.from_now
返回日期时间对象(ActiveSupport::TimeWithZone),而Date.today
返回日期。因此,您的范围将不起作用,因为它使用了两种不同的对象类型。您可以通过将后者转换为日期来修复它:
Date.today..20.years.from_now.to_date