繁体   English   中英

参数错误:无效日期

[英]Argument error : invalid date

这个错误可能是什么? 我在帐户模型中定义了年龄:

def age
    birthday = DateTime.new(year_Of_Birth.to_i, month_Of_Birth.to_i, day_Of_Birth.to_i)
    self.age = ((DateTime.now - birthday) / 365.25).to_i
  end

在我看来,我得到以下错误:

ArgumentError-以下行中的日期无效:

<dd><%= @account.age %></dd>

提前致谢。

尝试在Rails应用程序控制台中进行测试:

birthday = DateTime.new(1991,4,2)       => Tue, 02 Apr 1991 00:00:00 +0000
DateTime.now - birthday                 => (149073456141953/17280000000)
(DateTime.now - birthday)/365.25        => 23.61926437561592
((DateTime.now - birtday)/365.25).to_i  => 23

这对我有用。 检查您要设置的参数。

我几乎可以确定您要传递的参数(year_Of_Birth.to_i,month_Of_Birth.to_i,day_Of_Birth.to_i)出了点问题,请调试它们并向我们显示值,或者如果您想尝试此方法来捕获某些特定错误:

begin
 birthday = DateTime.new(year_Of_Birth.to_i, month_Of_Birth.to_i, day_Of_Birth.to_i)
 self.age = ((DateTime.now - birthday) / 365.25).to_i
rescue ArgumentError
 #your logic
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM