如何在Rails之外使用Rails日期助手方法?

And*_*rew 8 ruby ruby-on-rails date

我正在将一些Rails控制器代码转换为通用的Ruby代码.我遇到了这个:

expiration_date = 1.hours.from_now.utc.strftime('%Y-%m-%dT%H:%M:%S.000Z')
Run Code Online (Sandbox Code Playgroud)

......并意识到这不是标准的Ruby.我收到此错误消息:

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

如何将其转换为标准Ruby,或者需要/包含必要的库来使其工作?

解:

需要ActiveSupport数字类扩展:

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

Jos*_*ech 7

这是在 activesupport

包括这样的

require 'rubygems'
require 'active_support/core_ext/date/conversions'
Run Code Online (Sandbox Code Playgroud)

  • 已经尝试过了.然后我在GitHub上查找代码并找到了这里的方法:[`active_support/core_ext/numeric/time`](https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/ numeric/time.rb)切换到那似乎解决了它 (7认同)