Я пытаюсь использовать rufus-scheduler для вызова моей модели Ruby on Rails под названием HelloWorld
.Использовать планировщик Rufus для вызова моего класса модели
Однако ниже не удается из-за ошибки в моей консоли:
scheduler caught exception:
undefined method 'Foo' for #<Class:0x23371e0
================================================================================ scheduler caught exception: undefined method 'Foo' for #<Class:0x23371e0> C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.21/lib/active_record/dynamic_matchers.rb:55:in 'method_missing' C:/my-dash/config/initializers/scheduler.rb:6:in 'block in <top (required)>' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in 'call' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:in 'trigger_block' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:204:in 'block in trigger' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in 'call' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in 'block in trigger_job'
Я предполагаю, что я не называю свою модель из планировщика правильно?
Внутри файла 'config\initializers\scheduler.rb'
У меня есть следующие:
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
scheduler.every '10s' do
HelloWorld::Foo.new
end
Мой класс Модель называется HelloWorld
в 'app\models\helloworld.rb'
содержит:
class HelloWorld < ActiveRecord::Base
attr_accessible :my_name
def Foo
my_var = "Some text here"
#and then do some more stuff here...
end
end
Что происходит, когда вы вызываете HelloWorld :: Foo.new вне планировщика (например, из контроллера)? – jmettraux
Пожалуйста, включите также полную обратную ошибку ошибки, а не только начало ее первой строки. – jmettraux
@jmettraux Обновлено с полной ошибкой сейчас :) – user2402135