2011-06-02 42 views
4

時間表正在運行,但錯誤「未定義的方法'do_something'」。什麼是不對的?如何在Rails中實現rufus-scheduler?

使用Rails 3

在配置/初始化/ task_scheduler.rb:

require 'rubygems' 
require 'rufus/scheduler' 
scheduler = Rufus::Scheduler.start_new 
scheduler.every("10s") do 
    JobThing.do_something 
end

型號/ job_thing.rb:

class JobThing < ActiveRecord::Base 
    def do_something 
     puts "something" 
    end 
end 
感謝

回答

12

你試圖調用實際上在JobThing類中定義了一個實例方法時,可以從task_scheduler獲得類級方法。你可以定義一個類的方法如下:

class JobThing < ActiveRecord::Base 
    def self.do_something 
    puts "something" 
    end 
end 
+0

好的,謝謝。這工作。 – 2011-06-03 04:31:39