Hallo,
Mailer Fehler fehlende Vorlage
Ich habe Problem mit Action, wenn ich versuche, Aktion auszuführen:
rake send_email
Ich erhalte eine Fehlermeldung:
rake aborted!
ActionView::MissingTemplate: Missing template user_mailer/mailer with "mailer". Searched in:
* "user_mailer"
Hier ist mein:
Mailer/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: "[email protected]"
def mailer(user)
@user = user
mail(to: @user.email, subject: 'Test')
end
end
views/user_mailer/mailer.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<p>
Sample mail.
</p>
</body>
</html>
views/user_mailer/mailer.text.erb
Sample mail.
lib/Aufgaben/E-Mails _task.rake
desc 'send email'
task send_email: :environment do
UserMailer.mailer(User.last).deliver!
end
config/Umgebungen/development.rb
# I recommend using this line to show error
config.action_mailer.raise_delivery_errors = true
# ActionMailer Config
config.action_mailer.delivery_method = :letter_opener
# config.action_mailer.default_url_options = { :host => 'localhost:3000' }
# config.action_mailer.delivery_method = :smtp
# SMTP settings for gmail
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => ENV['gmail_username'],
:password => ENV['gmail_password'],
:authentication => "plain",
:enable_starttls_auto => true
}
# Send email in development mode?
config.action_mailer.perform_deliveries = true
ich für die Lösung auf Stackoverflow gesucht und ich versuchte, viele Antworten für das ähnliche Problem, aber leider keiner von ihnen hat für mich gearbeitet.
Ich fand Lösung, wenn ich Körper Mailer Methode wie hinzufügen: es
def mailer(user)
@user = user
mail(to: @user.email, subject: 'Test', body: 'something')
end
Dann funktioniert, aber ich mag einen Körper in separaten Dateien haben, und es komplizierter mit Benutzername und anderen Dingen .
Wenn jemand eine Idee, wie dieses Problem zu lösen, dann würde ich sehr dankbar sein :)
Ich habe das gleiche Problem gefunden, und Ihr Update funktioniert (obwohl ich immer noch gelegentlich einen Fehler bekomme.) Interessanterweise passiert dies nur in meiner Produktionsumgebung. Entwicklung funktioniert gut. Ich versuche immer noch herauszufinden, was vor sich geht. –
Ich habe auch das gleiche Problem! Habe gerade ein Bounty angefangen :-) – THpubs
Benutzt du wann immer das? Versuchen Sie, den Befehl wie folgt auszuführen 'RAILS_ENV = Produktion Rake send_email' – THpubs