E-Mail an alle Benutzer in Schienen senden
Ich versuche, eine Methode zu erstellen, die beim Aufruf eine E-Mail an alle Benutzer sendet.
Mein letztendliches Ziel ist es, diese Methode über einen Scheduler aufzurufen (ich habe den Scheduler bereits zum Laufen gebracht). Und die Methode wird für alle Benutzer gelten und E-Mails an einige von ihnen senden, wenn einige Voraussetzungen erfüllt sind.
Im Moment möchte ich nur lernen, wie ich einfachste Dinge mache, nämlich jedem Benutzer in der Tabelle eine benutzerdefinierte E-Mail zu senden.
Meine erste Ausgabe ist:
def send_digest
@users = User.all
@users.each do |user|
@time = Time.now
mail(to: user.email, subject: user.name)
end
end
Diese Methode (in app / mailer / user_mailer.rb) sendet nur eine E-Mail an den Kerl mit der größten ID in der Tabelle. Warum das?
Was muss ich auch tun, um auf die Variable "user.name" in der E-Mail zuzugreifen?
BEARBEITEN: Gibt es eine bessere Möglichkeit, auf die Benutzervariable im Mailtext zuzugreifen, als @user = user?
def send_digest(user)
@time = Time.now
@user = user
mail(to: user.email, subject: 'mail message')
end