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_nowに変更30.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 に答える