2016-10-25 1 views
1

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.

Répondre

0

hugh_email.html.slim doit être à

/app/views/campaign_mailer/hugh_email.html.slim 

mailer.html.slim à

/app/views/layouts/mailer.html.slim 

mailer.text.erb à

/app/views/layouts/mailer.text.erb 
+0

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. –

+0

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. –

+0

@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