Ich stoße auf einige Fehler, um die Dateieigenschaft zu bestimmen. Hoffe auf einen Einblick.So fordern Sie Dateien automatisch an und laden sie automatisch
Es gibt Dateien, die als so:
app/models
model.rb
app/workers
parent_worker.rb
app/workers/directory_1
directory_worker.rb
foo_worker.rb
bar_worker.rb
class DirectoryWorker < ParentWorker
end
class FooWorker < DirectoryWorker
def method_called_by_model
end
end
Wenn ich die Methode aufrufen, method_called_by_model ich die folgende Fehlermeldung erhalten:
NameError: uninitialized constant Model::FooWorker
ich hinzugefügt haben folgendes application.rb, didn‘ t fügen Sie app/workers hinzu, da es gemäß der Dokumentation automatisch geladen werden sollte.
config.autoload_paths << "#{Rails.root}/app/workers/directory_1"
Als ich require_relative die Arbeiter Dateien im Modell, das ich die folgende Fehlermeldung mit Bezug auf die geerbte Klasse unbekannt ist:
NameError: uninitialized constant DirectoryWorker
from project/app/workers/directory_1/FooWorker.rb:2:in `<top (required)>'
Alle Ideen, was ich tun kann?
Wie Sie vorgeschlagen, obwohl ich nehme an, das Directory1 :: vor dem ParentWorker war ein Tippfehler. Fehler erhalten, NameError: nicht initialisierte Konstante DirectoryWorker :: FooWorker. – Curt
Ja, das war ein Tippfehler. Können Sie den aktualisierten Code zusammen mit der vollständigen Fehlermeldung und der Zeile, bei der der Fehler auftritt, posten? – kcdragon
Ich habe es tatsächlich herausgefunden. Total meine Schuld, benannte die Dateien DirectoryWorker.rb anstelle von directory_worker.rb falsch. – Curt