Hey tenemos una clase de biblioteca (lib/Mixpanel) que llama trabajo retardada de la siguiente manera:rieles retardada de empleo y la biblioteca de clases
class Mixpanel
attr_accessor :options
attr_accessor :event
def track!()
..
dj = send_later :access_api # also tried with self.send_later
..
end
def access_api
..
end
El problema es que cuando nos encontramos puestos de trabajo del rastrillo: el trabajo: se obtiene la siguiente error:
undefined method `access_api' for #<YAML::Object:0x24681b8>
¿Alguna idea de por qué?
Parece que el trabajo retrasado no sabe acerca de la clase de su biblioteca, por lo que se convierte en un YAML :: Objeto, lo siento, no sé cómo puede conseguirlo cargar su clase de biblioteca. – Corey
Me di cuenta de que este problema existe con cualquier cosa que no sea un modelo 'ActiveRecord'. Mi PORO está en 'app/models' y, normalmente, es autocargado por Rails. 'delayed_job' parece tener un problema, a menos que use la solución de inicializador que se describe a continuación por Jonathan. –