我需要包含哪些模块才能获得5.seconds在Ruby中工作?

aar*_*ona 27 ruby datetime libraries

因为显然require 'date'不包括方法小时或秒等:

undefined method `hours' for 5:Fixnum (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?只有5.seconds只能在Rails中做些什么吗?如果是这样,我需要在ruby脚本中使用require语句是什么?

Lou*_*ell 79

老问题,但对于像我这样的googlers:

require 'active_support/time'
Run Code Online (Sandbox Code Playgroud)

无论如何,对于宝石版本3.2.11.

  • 确实,如已接受的答案中所述,仅执行 require "active_support" 是不够的。 (2认同)
  • 这是正确的答案,而不是上述答案. (2认同)

Ste*_*eet 12

以下适用于我

irb
>> require 'active_support'
=> true
>> 5.hours
=> 18000 seconds
Run Code Online (Sandbox Code Playgroud)

根据您的环境和rails版本,您可能需要在require 'rubygems'此之前完成此操作require 'active_support'.

require 'activesupport'如果您有旧版本的rails,则可能还需要代替active_support.

  • 好吧,我想通了,我需要根据这里的评论添加"require'active_support/core_ext/numeric/time'":http://stackoverflow.com/a/5905875/53597 (8认同)