2015-06-16 14 views
7

Sto cercando di imparare ActiveJob e ho creato un lavoro semplice per illustrare il processo. Sono praticamente bloccato al passaggio 1. Ho un file my_job.rb in app/jobs. Quel file contiene questo codice:Costante non inizializzata per il mio lavoro ActiveJob

class MyJob < ActiveJob::Base 
    queue_as :default 

    def perform(obj) 
    puts obj 
    end 
end 

Se vado al mio console e digitare in MyJob, si comporta come la classe non esiste ... che cosa mi manca?

: 001> MyJob NameError: non inizializzata costante MyJob

risposta

0

Penso che questo è stato risolto in qualche modo casuale ... Probabilmente ho riavviato il mio server o qualcosa del genere. Per quanto ne so, ogni volta che un lavoro viene modificato, il server deve essere riavviato in modo che le modifiche vengano rilevate.

+0

Ha avuto lo stesso errore, non ha modificato nulla, ha riavviato il server ed è stato corretto. – BluGeni

7

Assicurarsi che il nome file del lavoro termini con "_job.rb".

Ad esempio: un lavoro chiamato CheckDropboxAvailableSpaceJob deve avere il nome file denominato check_dropbox_available_space_job.rb, non check_dropbox_available_space.rb.

Rails non lo riconoscerà come lavoro se il nome del file non ha "_job" alla fine.

Problemi correlati