Rails 如何在数字上实现"date magic"机制?



在Rails(但不是普通Ruby)中,可以说:

t = 2.days
t.inspect 

=>"2天"

t.to_i

=>172800

它看起来像Rails修补的Fixnum,所以它隐藏了由间隔和带有描述的检查字符串表示的秒数。它基本上就是这样工作的吗?

ActiveSupport对Ruby基类(如字符串、对象和Numeric)进行了核心扩展,使这成为可能。

有关导轨的更多信息:http://edgeguides.rubyonrails.org/active_support_core_extensions.html#time

ActiveSupport将"天数"添加到一个数字中,并进行计算以获得

代码:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/numeric/time.rb

这是非常基本的:

  • 1天是24小时
  • 1小时等于60分钟

最新更新