我的代码有效。我在这里遇到的问题是,从 2010 年到 1995 年,每年都会出现 11 月 31 日和 4 月 31 日这样的日期,这意味着我必须输入所有这些日期,例如 [Date.new(2012,09,31),Date.new( 2011,09,31)] 等。我试图让这个验证只在一个月和一天内工作,以避免输入过多或换句话说缩短我的代码,请参阅我的 Model/profile.rb 的描述
validate :excluded_dates
private
def excluded_dates
exclusion_dates = [Date.new(2012,9,31), Date.new(2012,2,1)]
if exclusion_dates.include?(self.next_shoeing)
self.errors.add(:next_shoeing, "cannot be on a reserved date.")
end