我正在尝试time_difference gem减去2个日期时间并将按月分组的结果与此代码相加
downtime = @Ticket.sum(TimeDifference(:start_time, :restore_time)).in_hours.round.group_by { |t| t.due_at.beginning_of_month }
但最终显示TimeDifference的No Method Error消息
答案 0 :(得分:0)
如果你看一下自述文件,你会发现该方法是
TimeDifference.between(time1, time2)
您遗失.between
。
此外,您作为参数(:start_time
,:end_time
)传递的值不是时间对象,而是符号。如果不清楚,你应该阅读变量和符号之间的区别。
此外,.in_hours.round
返回一个整数。所以你的group_by
会引发NoMethodError。我不确定您在这里尝试使用group_by
,因为您没有可迭代的内容。