akh*_*lsa 3 ruby time ruby-on-rails fixnum ruby-on-rails-3
我的代码中出现了一个非常奇怪的错误,我希望有人可以帮助我.我有一个模型,它有一个created_at列和我创建的持续时间列.持续时间只是一个整数,假定为小时数.然后我尝试将当前时间与created_at时间+持续时间进行比较,以查看该行是否已过期.我的代码看起来像这样:
@expire_time = purchase.duration.hours + purchase.created_at
if(@expire_time > Time.current)
#do some stuff if the current time isn't greater than the expiration time
end
Run Code Online (Sandbox Code Playgroud)
当我在控制台中运行第一行时它工作正常,但是当我保存我的代码并通过它的部分路径调用它时,我在该行得到以下错误.
ActiveSupport :: TimeWithZone无法强制进入Fixnum
有没有人对可能出现的问题/如何正确地进行这种比较有任何想法?
我发现了问题......
这不起作用:purchase.duration.hours + purchase.created_at
但这样做:purchase.created_at + purchase.duration.hours