在Rails控制台(Rails 5.0.1)中,我有一个ActiveSupport::Duration
对象代表一个时间间隔,在这种情况下是12分钟:
x = ActiveSupport::Duration.parse("P0Y0M0DT0H12M")
我想为其添加一个随机的分钟数,所以我创建了另一个ActiveSupport::Duration
对象:
y = ActiveSupport::Duration.parse("P0Y0M0DT0H3M")
根据the docs,我希望能够使用+
运算符添加它们并执行x+y
,但这会导致:
NoMethodError: undefined method '+' for {:years=>0, :months=>0, :days=>0, :hours=>0, :minutes=>12}:Hash
我哪里错了?为什么它认为它们是哈希?
答案 0 :(得分:1)
这是parts being hashified引入的错误,似乎是partial backport from 5.1 to 5.0.3。您可以将Rails版本更新为5.1.x,或者首先将值强制转换回数字。