我想像下面这样编写包含验证器:
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
关于ruby-on-rails - 如何在 Rails 3 中为日期字段编写 inclusion_of 验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14687893/