1

我有一个(缩减的)模型,如下所示:

class MyModel < ActiveRecord::Base
    def self.update_status
        event_time = time_ago_in_words 30.minutes.from_now
        Twitter.update("Event is starting in #{event_time}")
    end
end

正如预期的那样,由于尝试使用来自 DateHelper 的方法“time_ago_in_words”,我收到了 NoMethodError 异常。我应该如何做到这一点,也许更重要的是,我是否以正确的方式进行?

4

1 回答 1

1
  1. extend ActionView::Helpers::DateHelper在你的模型中
  2. 更改30.mins.from_now30.minutes.from_now

我只是自己尝试过,执行以下操作没有问题:

class MyModel < ActiveRecord::Base
  extend ActionView::Helpers::DateHelper

  def self.update_status
    event_time = time_ago_in_words(30.minutes.from_now)
    Twitter.update("Event is starting in #{event_time}")
  end
end

您必须使用extend而不是include. 请参阅这篇文章以获得解释。

于 2012-05-18T15:58:42.083 回答