Lorsque vous essayez d'envoyer des emails avec Sidekiq, j'obtiens cette erreurEnvoi de courrier, obtenir ActionView :: MissingTemplate <path> avec 'mailer'
ActionView :: MissingTemplate: modèle manquant campaign_mailer/hugh_email avec "mailer". Chercher dans: * "campaign_mailer"
Dans le contrôleur
CampaignMailer.hugh_email(email, user).deliver_later
Dans campaign_mailer.rb
layout 'mailer'
def hugh_email(email, user)
mail(to: @user.email, subject: email.subject)
end
app/views/campaign_mailer/hugh_email.html.slim
a le html, et j'ai un modèle dans layouts/mailer
Note: J'ai essayé tout ce que je peux trouver , même les expéditeurs re-générés. Il semble fonctionner avec un nouvel expéditeur quand j'envoie avec deliver_now
, mais dès que j'essaye deliver_later
l'erreur retourne (même en revenant à essayer un deliver_now
).
MISE À JOUR:
Ma solution à ce ne sera probablement pas aider beaucoup de gens, mais je vais l'ajouter ici juste au cas où.
Maintenant, je enregistre les e-mails sur mon système, et passe le code HTML dans le mailer avec CampaignMailer.hugh_email(email.subject, html).deliver_later
. Dans le campaign_mailer.rb
je lance
mail(to: to_address, subject: email_subject) do |format|
format.text { render(text: "") }
format.html { html }
end
Encore une fois, malheureusement, ce ne sera probablement pas aider à la plupart des gens ayant ce problème. Mais j'ai essentiellement résolu le problème en spécifiant le code HTML au lieu d'utiliser la vue mailer.
Désolé, j'ai oublié de mentionner que tha t c'est le chemin pour mon fichier html. J'ai mis à jour à la question de se référer à cela, merci. –
Il me manquait 'mailer.text.erb' donc je l'ai ajouté et tout redémarré (rails, sidekiq, redis, vidé le Q). Toujours pas de chance. –
@ChrisBrisson toutes les mises à jour de votre question alors s'il vous plaît poster ici .. car je suis confronté au même problème. Merci. – harsh4u