【发布时间】:2015-10-19 21:34:35
【问题描述】:
我从ActiveSupport::Duration(Rails 4.2.4 + ruby 2.2.1)了解到这一点:
main > (1.month + 2.days).parts
[[:months, 1], [:days, 2]]
虽然我不明白:
main > (1.hour + 35.minutes).parts
[[:seconds, 3600], [:seconds, 2100]]
ActiveSupport::Duration 处理小时和秒的方式是否不像处理月和日的方式? ActiveSupport::Duration 上的文档非常少(我似乎找不到更好的文档)。
我的主要目标是在 Rails 模型中存储持续时间(小时和分钟)。我应该忘记ActiveSupport::Duration,只存储秒数然后自己计算吗?
【问题讨论】:
-
您链接到的文档确实提到了
parts。这是一个读写属性。 -
我也不确定#parts 应该做什么。我认为您应该存储秒数并进行自己的计算。根据您想要进行的计算,这可能很容易,或者您可能需要使用 ruby 时间/日期类来帮助您。或者,也许您想存储小时和分钟并进行自己的计算。取决于你想做什么,我不清楚。如果您一开始似乎确切地知道自己有多少小时和多少分钟,那么您希望 AS::Duration 告诉您……您有多少小时和多少分钟?但你已经知道了。
标签: ruby-on-rails ruby duration activesupport