Ruby on rails 使用rails runner的未定义方法
我正在使用宝石,我无法让我的跑步指导工作 我得到了这个错误:Ruby on rails 使用rails runner的未定义方法,ruby-on-rails,ruby-on-rails-3,whenever,runner,Ruby On Rails,Ruby On Rails 3,Whenever,Runner,我正在使用宝石,我无法让我的跑步指导工作 我得到了这个错误: /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `eval': undefined method `run' for #<Class:0x007f97d88744a8> (NoMethodError) from (eval):1:in `<top (required)&g
/Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `eval': undefined method `run' for #<Class:0x007f97d88744a8> (NoMethodError)
from (eval):1:in `<top (required)>'
from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `eval'
from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `<top (required)>'
from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands.rb:64:in `require'
from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands.rb:64:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
在我的app/models/crawler.rb中,我有以下代码:
class Crawler < ActiveRecord::Base
def run
puts "toto"
end
end
类爬虫
您正试图调用爬虫程序上的类方法,但该方法被定义为实例方法。要使您的方法成为类方法,您可以这样定义它:
def self.run
puts "toto"
end
如果不需要将该方法作为类的自方法,则可以这样做
every 1.minutes do
runner "Crawler.new.run", :output => '/Users/bl0b/Projects/crawler/cron.log'
end
every 1.minutes do
runner "Crawler.new.run", :output => '/Users/bl0b/Projects/crawler/cron.log'
end