4

计划正在运行但错误“未定义的方法'do_something'”。什么不对?

使用导轨 3。

在 config/initializers/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
谢谢

4

1 回答 1

12

当您在 JobThing 类中实际定义了一个实例方法时,您正试图从 task_scheduler 调用一个类级别的方法。您可以定义一个类方法,如下所示:

class JobThing < ActiveRecord::Base
  def self.do_something
    puts "something"
  end
end
于 2011-06-02T18:29:25.910 回答