我试图使用独立的activesupport来使用time.ago,这是必需的:

ruby
require 'active_support/core_ext/date_time/calculations'

如果我按照建议使用:
ruby
time = Chronic.parse(time_string)
time.ago

我得到这个错误:
ArgumentError - wrong number of arguments (0 for 1):
    /home/user/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.0/lib/active_support/core_ext/date_time/calculations.rb:61:in `ago'

如果我提供一个论点,那么:
ruby
time.ago DateTime.now

我得到这个,我一点也不明白:
NoMethodError - undefined method `-@' for #<DateTime:0x00000001f18168>:
    /home/passcod/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.0/lib/active_support/core_ext/date_time/calculations.rb:62:in `ago'

最佳答案

ago方法是为您能够在当前时间中添加一些秒(或其他时间单位)而设计的,例如10.minutes.ago
提供一个完整的日期是不受支持的,而且据我所知没有意义-2012年1月23日下午2点意味着什么?

关于ruby - #<DateTime:0x00000001f18168>处/未定义方法`-@'处的NoMethodError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8709043/

10-13 05:46