NoMethodError в / undefined метод `- @ 'для # - PullRequest
2 голосов
/ 03 января 2012

Я пытаюсь использовать time.ago, используя автономный ActiveSupport, требуется:

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'

и если я приведу аргумент, то: 1011 *

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'

1 Ответ

2 голосов
/ 03 января 2012

Метод ago предназначен для того, чтобы вы могли добавлять количество секунд (или другие единицы времени) к текущему времени, например, 10.minutes.ago.

Не указывать полную датуподдерживается и не имеет смысла, насколько я могу судить - что бы значило 23 января 2012 года в 2 часа дня.

...