Ich habe Probleme beim Aufrufen von Methoden aus einem enthaltenen Modul in einem Resque-Worker. Im folgenden Beispiel erhalte ich undefinierte Methodenfehler, wenn ich versuche, die Methode say
im Worker (im TestLib-Modul) aufzurufen. Ich habe den Code auf nackte Grundlagen reduziert, um das Problem zu veranschaulichen:
Controller (/app/controllers/test_controller.rb)
%Vor%Bibliothek (/lib/test_lib.rb)
%Vor%Arbeiter (/workers/test_worker.rb)
%Vor%Rakefile (resque.rake)
%Vor% Ich liefere resque mit dem folgenden Befehl: rake environment resque:work QUEUE='*'
Edelsteine: Schienen (3.0.4) redis (2.2.2) redis-namespace (1.0.3) resque (1.19.0)
Server: nginx / 1.0.6
Hat jemand irgendwelche Ideen, was dort vor sich geht?
Wenn Sie ein Modul einschließen, werden seine Methoden Instanzmethoden. Wenn Sie erweitern, werden sie Klassenmethoden. Sie müssen nur include TestLib
zu extend TestLib
ändern und es sollte funktionieren.
Tags und Links ruby-on-rails worker resque