Ich habe Rails 5.0.0.rc1 sowie die DelayedJob gem installiert. Ich habe Code, der in früheren Rails-Apps (Rails4.2) einwandfrei funktionierte, aber aus irgendeinem Grund wird die Produktion auf Heroku jetzt nicht fortgesetzt.Rails 5 mit DelayedJob resultierte in einem Fehler
Kurz gesagt, ich versuche, eine E-Mail mit DelayedJob 'Handle_asynchronous' Methode zu senden. Ich habe den Mailer erstellt und den Rückruf in meinem Modell hinzugefügt, aber wenn ich das Formular auf Heroku abschicke, wird mir ein Fehlerbildschirm angezeigt. In meinen Protokollen sehe ich einen Fehler mit dem Argument 'ArgumentError: falsche Anzahl von Argumenten (1 gegeben, erwartet 0)'. Wenn ich die 'handle_asynchronous' Methoden entferne, funktionieren meine Callbacks. Offensichtlich möchte ich aber Mails etc. mit DelayedJob versenden.
Mein Code sieht wie folgt aus:
FooModel.rb
....
after_create :send_welcome_mail
def send_welcome_mail
FooMailer.welcome_email(self).deliver
end
handle_asynchronously :send_welcome_mail
Wie ich schon erwähnt, dieser Code funktioniert einwandfrei mit Rails4. Könnte mir jemand helfen? Muss ich in Rails5 etwas anders machen?
Können Sie die vollständige Fehler Spur hinterlassen? Mindestens ein paar Spitzenlinien. – BoraMa
Welche Attribute haben Sie auf dem Modell? Dies kann auch bei Namenskonflikten auftreten. – Max