私のコードは機能します。ここでの問題は、11月31日や4月31日のような日付が、2010年から1995年まで毎年発生する可能性があることです。つまり、[Date.new(2012,09,31)、Date.new( 2011,09,31)]など。入力しすぎないように、つまりコードを短くするために、この検証を1か月と1日だけ機能させようとしています。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