Em *_*Sta 4 ruby ruby-on-rails
我的代码看起来像:
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
Run Code Online (Sandbox Code Playgroud)
在第一行中,我使用以下方法检查有效日期:
Date.new(Date.today.year, f.birthday.month, f.birthday.mday ).valid_date?
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
`new': invalid date (ArgumentError)
Run Code Online (Sandbox Code Playgroud)
如何编写代码以避免此问题?
Ste*_*fan 13
Date::valid_date?是一个类方法,所以代替
Date.new(Date.today.year, f.birthday.month, f.birthday.mday).valid_date?Run Code Online (Sandbox Code Playgroud)
使用
Date.valid_date?(Date.today.year, f.birthday.month, f.birthday.mday)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5555 次 |
| 最近记录: |