Integrierte Rake-Aufgaben funktionieren einwandfrei, aber meine neue benutzerdefinierte Aufgabe in Project / lib / task / pays.rb wird nicht geladen:
namespace :payments do
desc "Tally payments at the end of the month"
task :compute => :environment do
BillingPeriod.compute_new_period
end
end
$ rake payments:compute
(in /Users/rob/Code/Apps/skyfarm)
rake aborted!
Don't know how to build task 'payments:compute'
Es funktioniert gut, wenn ich die Datei application.rb lade:
require 'lib/tasks/payments.rb'
... aber es bricht andere Dinge:
$ rails s
./lib/tasks/payments.rb:1: undefined method `namespace' for main:Object (NoMethodError)
ruby-on-rails
ruby-on-rails-3
rake
Sambesi
quelle
quelle
.rake
Dateien in einem Verzeichnis namens abrakelib
.Antworten:
Ändern Sie die Dateierweiterung von
.rb
in.rake
.quelle
In diesem speziellen Fall
.rake
verursachte das Fehlen einer Erweiterung den Fehler. Ich hatte jedoch heute das gleiche Problem mit einer Rails 4.2-App, und das lag daran, dass ich keinedesc
für meine Rake-Aufgabe hatte. Stellen Sie also sicher, dass Sie eine hinzufügen, wenn Sie Ihre eigene Aufgabe schreiben (dh keine generieren)desc
.Für weitere Informationen: http://guides.rubyonrails.org/command_line.html#custom-rake-tasks
quelle
However
in Ihrer Antwort sah , wusste ich bereits, dass Ihre Antwort mein Problem lösen wird;) +1Gemäß Rails-Handbuch 2.10 Benutzerdefinierte Rechenaufgaben
Aber du hast eine
.rb
Erweiterung.quelle