我的代码如下:
if f.thisyear.blank? && Date.new(Date.today.year, f.birthday.month, f.birthday.mday ).valid_date?
f.update_attribute :thisyear, Date.new(Date.today.year, f.birthday.month, f.birthday.mday )
end
在第一行中,我使用以下方法检查有效日期:
Date.new(Date.today.year, f.birthday.month, f.birthday.mday ).valid_date?
这会引发错误:
`new': invalid date (ArgumentError)
我该如何编写代码才能避免这个问题?
最佳答案
Date::valid_date?
是一个类方法,所以不是
<del>Date.new(Date.today.year, f.birthday.month, f.birthday.mday).valid_date?</del>
使用
Date.valid_date?(Date.today.year, f.birthday.month, f.birthday.mday)
关于ruby-on-rails - 如何检查日期是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904202/