2015-06-16 10 views
7

Próbuję nauczyć się ActiveJob i stworzyłem prostą pracę, aby przejść przez proces. Jestem prawie utknął na kroku 1. Mam plik my_job.rb w app/jobs. Że plik zawiera ten kod:Niezainicjowana stała dla mojej pracy ActiveJob

class MyJob < ActiveJob::Base 
    queue_as :default 

    def perform(obj) 
    puts obj 
    end 
end 

Jeśli pójdę do mojego konsoli i wpisz MyJob, działa jak klasy nie istnieje ... Czego mi brakuje?

: 001> MyJob NameError: niezainicjowany stała MyJob

Odpowiedz

0

Chyba zostało to rozwiązane nieco przypadkowo ... pewnie wznowiona mój serwer czy coś. O ile mogę powiedzieć, za każdym razem, gdy praca jest edytowana, serwer musi zostać uruchomiony ponownie, aby zmiany zostały odebrane.

+0

Miał ten sam błąd, nic nie zmieniono, zrestartował serwer i został naprawiony. – BluGeni

7

Upewnij się, że nazwa zadania kończy się na "_job.rb".

Na przykład: zadanie o nazwie CheckDropboxAvailableSpaceJob powinno mieć nazwę pliku o nazwie check_dropbox_available_space_job.rb, a nie check_dropbox_available_space.rb.

Railsy nie rozpoznają go jako zadania, jeśli nazwa pliku nie ma "_job" na końcu.

Powiązane problemy