Ich möchte meine Rechenaufgabe über die Konsole aufrufen. Ist es machbar? Wenn ja, wie geht das?
Ich habe das auf der Konsole versucht:
require 'rake'
Rake::Task['my_task'].invoke
aber es gibt mir diesen Fehler:
RuntimeError: Don't know how to build task
Es ist, als ob der Rechen die Aufgabe nicht finden kann.
Jede Hilfe wäre dankbar.
Vielen Dank
Bearbeiten: Ich benutze Schienen 2.3.5
.invoke
und ".execute
Wenn Sie die Aufgabe mehrmals ausführen müssen (z. B. eine Überprüfung der Datensicherheit mit einer App, deren Start zu lange dauert)" beachten, möchten Sie die Aufgabe ausführen.execute
..invoke(arg1, arg2,...)
Der einfachste Weg, dies zu tun, besteht darin,% x [ Befehl ] vom irb aus auszuführen. Ich bin mir nicht sicher, ob Sie das erreichen wollen.
EDIT: Ich empfehle dringend,
.invoke
wie Daniel in der akzeptierten Antwort sagt.quelle
invoke
ist besser und effizienter.Der einfache Weg ist:
Rails.application.load_tasks Rake::Task['my_task'].invoke
quelle
Ich benutze
rails 5.x.x
und war in der Notwendigkeit, die gleiche Form zu tunrails console
.Ich habe hier eine Rechenaufgabe erstellt.
Hier ist der Befehl für mich gearbeitet-
Belastung
Rails.application.load_tasks
Hat für mich gearbeitet!
quelle
Nur ein Hinweis, dass Sie, wenn Sie sich in der Rails-Konsole
rails c
befinden, die Rake-Task-Methode einfach über aufrufen / ausführen könnenirb(main):001:0> TaskClassName.new.my_task
quelle